Fórum témák
» Több friss téma |
A file menüben próbáld meg exportálni (úgy hozzáteszi a config beállításokat is )!
Steve
Szia!
Project / Build options / Project menüben az MPASM Assembler fülön az Output beállítások között INHX32 -t kell kiválasztani.
Ezt így szoktam.
Nemtudom mit lehet variálni, de a 8.56-os mplabon nemvolt ilyen anno. Most a 8.83-as van. Hol lehet még hiba. Mert amit HP küldött az nem írja a pickit2 a sárga lapot.
Az MPLAB Configure/Configuration Bits menüpontban be van pipálva a check box, hogy Configuration set in code?
Lásd melléklet.
Igen. Tudom paréjság de valaki egy portb villogtató asm-et írna? Nagyon megköszönném.
Erre gondoltál?
Tapasztalatok: Amit írtál, az semmit sem csinál, de lehet mert az én programom és szr alapból DE a lefordított hex fájl NEM írja ki a warning agyszaggató marhaságot. Tehát az Mplab a ludas!!!! Most micsináljak??
oké üssetek! újraindítottam a gépet és lám megy..
Már jó lett a pickit. De ezzel a piccel anno is bajom volt. Csak egy sima portok bekapcsolása lenne a cél. De nem megy
![]()
Meglett. És ha az általános regiszterimhez szólok akkor is kell hogy BANKSEL XY?
Szia!
Állítsd be az MpLab SIM -et debuggernek, fordítsd újra, nyisd meg a Watch ablakot, vedd fel a PORTA és PORTB regisztereket. Ha lépésenként hajtod végre a programot, láthatod miként változnak...
Sziasztok!
tudom hogy ki van írva hogy kerülendő a soros portos programozás, de nekem nem kéne hosszú távra komolyabb programozó egy PIC16F874-041P-t szeretnék felprogramozni, nekem egy olcsó programozó kéne, ha a JDM-et összekötöm egy FT232RL-el akkor az úgy működhet?, vagy van egy LPT portos programozóm is annak kell 12V is. Ezen az oldalon található LPT-portos égetőt építettem meg. Valaki tudna segíteni hogy melyik lenne jobb?
Olyan projectről hallott már valaki, hogy pc 1.44 floppy vezérlőt (82077aa vagy kompatibilis esetleg emulált) kötni pic-hez? Floppy szimulátort már találtam, de én floppy controllert keresek.
Szia!
A kötött időzítés (1MByte/s) miatt a kezelésüket DMA vezérlővel velő együttműködésre tervezték. Végül is egy Sinclair Spectrummal (3.5 MHz Z80A) meg lehetett oldani a WD1793 kezelését programozottan, de nagyon kellett számítani az utasítások idejét. A Z80 -on volt OUTI, INI, ami a memória címet is mozgatta, és legrövidebb feltételes utasítást kellett használni (ret z), ha a feltétel összejött, az idő már nem volt kritikus. Egy 40MHz 18F kontrollerrel meg lehet próbálni... Igazából az jutott eszembe, hogy ha van egy project valahol műhelyben, talán berendelhetően elkészítve is prototípus darabok formájában, azt szívesebben vásárolnám meg, mint fejleszteném ki / gyártanám le saját magam. Azon is filoztam, hogy egy régi 486-os gépet egészben valami programmal távvezérelni (pld a két irányú printer porton keresztül), és azzal kezelni a floppyt, de akkor a távvezérlő programot is külön meg kell írni a PC-re is, és a helyet is foglalja a gépház. Vagy még plussz helyet adok egy monitor + billentyűzetnek is, ami egyben meg már sok. Mármint helyfoglalási szempontból. Eszembe jutottak az embedded pc-k is, de azokon meg nincs floppy 34 pin csatlakozó. Szóval gondban vagyok mindenhogyan. Ha más nincs, marad a valahonnan bugázott ősrégi 486-os gép, de jobban örülnék valami handybb megoldásnak. Ezért filoztam el rajta, hátha valaki kötött már hozzá 82077AA-t pic-hez. Egyébként az a sebesség floppy oldalon csak 1Mbit/s (nem byte), és ez is csak a 2.88-as floppynál, mert 1.44-nél csak a fele (2 uSec / 1 bit sebesség). Szerintem egy 40MHz-es pic-el ezt akár programozott módban is meg lehetne valósítani - ha lenne róla normális dokumentáció, mint ahogy olyat sem találtam. Van a 82077AA, és definíció szerint használja azt mindenki, a többit pedig felejtse el. Ennyit találtam összesen.
Szia!
Nem temetném a többieket. A L@mex -nél a WD1793 10.5 Ft + Áfa és dip40 tokban van, amit könnyebb beforrasztani, huzalozni. Ezenkívül könnyebb a státuszát kiolvasni... Anno 2000 Ft -ot fizettem érte, azaz 74 kg cukor árát. Vannak USB -s floppy egységek is.
Sziasztok.
Lenne egy kérdésem nem nagyon vagyok még benne ebbe a pic programozásba, főleg még az általam használt pic felépítését nem értem 100%-ig, de talán a kérdésemben meglesz a hiányzó rész. Szóval egy 16f876-os picen kéne 2db táblázatot kezelni az egyik 200 elemű (elképzelhető, hogy fel lesz bővítve 250-re) illetve egy 100 eleműt kell letárolni. Van 2db sorszám hol az egyik táblázatnak kell az adatait beolvasni hol a másiknak a w-be betöltöm a táblázat megfelelő elemszámát meghívom a táblázatot és a ADDWF PCL,F utasítással az adott helyre ugrik és betölti a w-be az értéket. Na a gondom az, hogy két független táblázat van és össze-vissza kell hivogatni őket és valamiért néha összeakadnak. Jobban mondva hiába hívom meg az egyiket átugrik a másikhoz. További kérdés, hogy milyen címtől tároljam ezeket az adatokat, hogy ne kelljen ugrálni vagy ha kell, hogy tudom megadni, hogy melyik táblázat hol van?
Szia!
A cikk végét olvasd el. Bárhogyan elhelyezkedhet a táblázat, ha egy két többlet utasítással felkészíted a programot nagyobb táblázat kezelésere. Elég egy addwf PCL,f utasítás az egész programba. Mielőtt rá adnád a vezérlést a PCLATH regisztert kell jól feltölteni... Állítsd be az MpLab SIM -et debuggernek és szimuláld le az ugrásokat.
Köszönöm a tippet, természetesen megnéztem a WD chipet, de PC floppy-t kell kezelni, és ahhoz ez nem jó.
Más. Nem mintha ez itt a reklám helye lenne, de véletlen beleütköztem egy ilyenbe: nvSRAM Először azt hittem, hogy ez valami kondenzátorból kiképezett akkumulátorra rábiggyesztett SRAM, aminek a tartalma addig tart, amíg a kondenzátorban a töltés, de az adatlapja szerint nincs ilyen bibi. Azt írják, hogy SRAM-ként használhatom (azzal a sebességgel írható / olvasható végtelen sokszor), és amikor megy elfele a tápfesz, akkor egy kicsike külső kondenzátor (adatlap szerint tipikusan 150 uF) energiája elegendő hozzá, hogy átírja az adatokat nem felejtő tárolóba. Ami ahhoz képest furcsa, hogy pld a flash tárolók irgalmatlan löket áramot szoktak kajálni, és nem is két pillanatig tart az átírás. Van ebben valami huncutság? Vagy tényleg van olyan jó, mint amilyennek írják? Valaki esetleg mérkőzött már vele testközelből?
Amíg egy tábla volt megoldható volt az egész:
ORG0X0700 TABLA BSFPCLATH,0 BSFPCLATH,1 BSFPCLATH,2 ADDWFPCL,F (adatok.............) Bár most már kezdem kapizsgálni a dolgot, hogy elolvastam a cikket, de ha mondjuk az egyik táblát meghagyom így a másikat meg átteszem 0x0800-ra akkor a mire kell állítani a pclath-et? Illetve hogy fog visszaállni az előző állapotra? Ezek még nem világosak egészen.
Szia!
Ha 0x0700 -on kezdődő táblánál 0x07 -re kellett állítani, akkor 0x0800 -on kezdődőnél 0x08 -ra. Vigyázz, az már másik Page, a visszatérés után közvetlenül a PCLATH -t a hivó lapjára kell állítani. Ha egyszerűbbet szeretnél, akkor tedd a második táblázatot 0x0600 -ra.
Szia,
PCLATH-t BSF/BCF -el ne manipulald, az ugy csak ganyolas. Ha jol megnezed Hp41C cikket (amit be is linkelt neked), akkor ott a 4. oldal aljan van egy pelda Azt kell kovetned, ill ha csak 8 bites az indexed akkor a legelso utasitas (movf index_h,w) nem kell oda es a masodik utasitasnak az addlw helyett movlw kell legyen ertelem szeruen...
Sziasztok!
meg építettem egy nagyon egyszerű égető áramkört(LPT-s Vpp-s(HVP) programozó), úgy néz ki sikerült is majdnem mindent megcsinálni. De amikor leellenőriztem azt írta a konfigurációs szó a PICben nem azonos a beégetendővel, ez mit jelent ettől még fog működni? (a többi mind sikerült EEPROM, flash, ID loc egyezik és a pic egy 12f629es) ez az égető:Bővebben: Link előre is köszönöm a segítségeteket
Szia!
Mégis miben tér el? Lehet, hogy csak a meg nem valósított biteken olvastál ki mást, mint amit beprogramoztál...
Helló.
Tehát magyarul közvetlenül adjam meg a pclath címét? Pl. 0x0600 esetén movlw d'6' movwf pclath elvileg a bsf-el is jó nem? bsf pclath,1 bsf pclath,2 maximum elegánsabb valószínűleg erre céloztál ugye? Viszont van még egy gondom kellene egy 16 bites számot egy 8 bitessel összeszorozni a 16 bites az egy konstans érték lenne a 8 bites mindig változik. Eddig jutottam, de nem egészen jó van amikor jó érték jön ki van amikor nem. Csatolom.
Szia!
Az első kérdésre: - Nem jó ha Te számolsz a fordító helyett, mert a módosítások során az érték megváltozik, de a bcf, bsf utasításokat pedig változatlanul hagyod... Alapelv, hogy minél kevesebbszer állítunk elő egy számot, annál kevesebb hibánk lesz.
a jó megoldás, a fordító gondját viseli a betöltendő értéknek...
A másodikra:
Az
a jó sorrend.
Helló.
Beírtam: TABLA1 MOVLWhigh(0x0700) MOVWFPCLATH ADDWFPCL,F (adatok....) ugyan így a másiknál is ott 0x0600-as-ra, de össze vissza ugrál pl ha a tábla sorszáma 0 akkor is kb. a 7-re ugrik illetve a másik tábláról meg átugrik a 0x0700-as címűre. Vagy ezt a call tabla1 elé kellett volna írni?
Hali!
Bocsi, de ez a válasz ill. kérdés valahogy elkerült engem, a délelőtti válaszom meg nem tudom hova tünt. Azt hiszem a kiírásokba fullad bele a progi, nem csak az USB kapcsolat megszakadásakor, hanem tartós működés esetén rendszertelenűl, eltérő időszakonként leáll. Amit eddig ki tudtam deríteni hogy hardveresen űgy tűnik nincs gond, mert a I2C mérési adatok feldolgozása 4 szenzorral (erre gyanakodtam) működik már több mint 1 napja USB HID kommunikációval. Gyanítom a USB CDC kapcsolat körül lehet valami gond, de nem tudom az okát. Az USBDeviceTasks() hívása megszakításban történik, a ProcessIO(); pedig a főprogamban illetve a Delay_MS-ben. Szóval nem tudom hogy időnként mi okozhatja a leállást. A processIO függvényben az USB státusz vizsgálatánál a return elé betettem az m_LED2 bekapcsolását, ami ilyenkor meg is történik. Továbbiakban egyenlőre tanácstalan vagyok, van esetleg valami javaslatod? Üdv.
A szorzás már majdnem jó így, de az EL még néha nem jót ír ki. Esetleg ezt még megnéznéd nekem? Pl:xxL=255 és a W=255 xxH=0 ennél például FE40-et ad FE01 helyett.
|
Bejelentkezés
Hirdetés |