Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   718 / 1320
(#) Attila86 válasza trudnai hozzászólására (») Ápr 6, 2010 /
 
Elolvasok én mindent, csak nem mindig értem az egészet!
(#) Attila86 hozzászólása Ápr 6, 2010 /
 
Nagyon macerás lenne 80db kétbájtos számot generálni és ezzel a táblát manuálisan feltölteni hogy leszimulálhassam hogy jól működik-e. Ezért inkább megkérdezem itt, hátha talál benne valaki hibát.

Kicsit hosszadalmas... Megvizsgálja hogy van-e 4095 a 80db szám közt, aztán hogy 4094 van-e, majd 4094... Mindezt addig amíg 8db számot nem talál. Ha talál akkor nullát ír a helyére.
Több mint négyezerszer vizsgálja meg a táblát de nem baj, talán elég gyors a PIC. Majd kiszámolom.
(#) Attila86 válasza Attila86 hozzászólására (») Ápr 6, 2010 /
 
Egy elvi hibát már találtam is: ha többször szerepel ugyan az az érték a táblában akkor csak a legfelsőt törli, mert akkor már nem vizsgálja tovább a táblát.
(#) Attila86 hozzászólása Ápr 6, 2010 /
 
Ez így működhet?
  1. movlw   minta_tábla
  2. cpfseq  FSR0

Mert az FSR0 ugye két bájtos.
(#) Attila86 válasza Hp41C hozzászólására (») Ápr 6, 2010 /
 
Azt mondja a fordító hogy nem ismer "TablSize" szimbólumot.
(#) Hp41C válasza Attila86 hozzászólására (») Ápr 7, 2010 / 1
 
Szia!

Ezt Neked kell definiálni:
  1. TablSize EQU .160
(#) Attila86 hozzászólása Ápr 7, 2010 /
 
Miért nem látja az MPLAB a PIC-et?
Idézet:
„PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0xEFC6 - Value Read 0xD140)”

Tápfeszültség 3,97V megvan, MCLR-en pedig 12,44V van. PGD, PGC is jónak tűnik.
(#) Tukora hozzászólása Ápr 7, 2010 /
 
Sziasztok!
Adva van egy PIC 18F6723, és soros vonalon hozzákötve egy Vinculum (VNC1L) USB chip. Az új Vinculum chipek üresen érkeznek meg a gyárból, először beléjük kell tölteni a firmware-t. Ahhoz, hogy ne kelljen plusz áramköröket beiktatni, ezt a PIC-en keresztül gondoltam, a következőképpen: A PIC-nek 128 kB program-memóriája van, a firmware 64kB-os. Tehát a PIC program-memóriájába elfér a program mellett a firmware is, amit aztán ki tudok olvasni és át tudok tölteni az usb chipbe.
A kérdés a következő: hogyan tudom a PIC program-memóriájába a program mellett a firmware file-t is feltölteni? (MPLAB-ot használok, ICD2-vel) Egyszerűen copy-paste-tel bemásolom a hex file végére? Esetleg van egy ilyen opció az MPLAB-ban? Vagy valahogy a programba illesztve? (Bár erre nem találtam megoldást.) És milyen címre kellene a file-t feltölteni, hogy ne ütközzön a programmal?
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Idézet:
„Tápfeszültség 3,97V”

Ez most 5, vagy 3,3V-os PIC. Egyébiránt egyiknek sem jó érték az LF-eket kivéve...
(#) Attila86 válasza watt hozzászólására (») Ápr 7, 2010 /
 
PIC18F2423 az alany, 2V-tól 5,5V-ig működik elvileg. A PK2 saját programjában nyomkodtam valami kalibrációt, azóta már 4,74V van és már ezt írja:
Idézet:
„PK2Error0027: Failed verify (Address = 0x0 - Expected Value 0xEFC6 - Value Read 0x0)”

Eddig a "Value Read" mindig más volt amikor írni próbáltam a PIC-et, mostmár mindig 0x0-át ír.
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Nem olvasol figyelmesen adatlapot! (326.oldal(328. oldal pdf.)). Bővebben: Link

szerk: Töröld a PIC-et, és utána próbáld írni.
(#) Hp41C válasza Tukora hozzászólására (») Ápr 7, 2010 / 1
 
Szia!

A pic reset rutin belépési pontja, megszakási rutin kezdőcíme a 0x0, ill. 0x08 és 0x18. Ezért a betöltő programot célszerű a memória elejére tenni. A Vinculum (VNC1L) USB chip firmware -jét a felső 64K -ban célszerű elhelyezni.

Milyen formában áll rendelkezésre a firmware?
- Intel Hex: Milyen kezdócímtől? Az MpLab -ba be lehet importálni ilyen formátumú állományt, csak arra kell vigyázni, hogy ne írjon felül használt program területet. Ha a kezdőcím nem jó, egy kis szöveg feldolgozással át lehet állítani. A javasolt felső 64K azért jó, mert a 0x0000 címre fordított állományt egyszerűen át lehet tenni erre a helyre - minden címhivatkozás legfelső bitjét 1-re kell állítani, az ellenőrző összeget 0x80 -nal csökkenteni (moduló 256).
- Bináris forma: Át kell alakítani Intel Hex-re és az ott leírtak szerint eljárni. A címmódosítást egyben el lehet végezni.
(#) Attila86 válasza watt hozzászólására (») Ápr 7, 2010 /
 
Tehetek én róla hogy eddig 3,97V-ot adott rá a PIC? Igazából azt se nagyon értem hogy most mitől lett 4,74V. Mindegy is, de ennyivel már kellene működnie!

Szerk.: Nem tudom törölni mert nem látja a PIC-et sem az MPLAB, sem pedig a PK2 programja!
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Ha nem látja, akkor ott valami tönkrement. (kábel, PK2, PIC, PC bajok(indítsd újra)). Elég tág a lehetőség sajnos. Szűkítsd a kört!
(#) Attila86 válasza watt hozzászólására (») Ápr 7, 2010 /
 
Megnéztem, a laminálómban látja a PK2 a PIC18F2520-at. Lehet akkor hogy a PIC (18F2423) szállt volna el?
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Hát, lehet... Ha minden jól be van kötve(hidegítés, ICSP stb), akkor lehet.
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Ha túl nagy pufferelkó van a PIC-en, akkor ez előfordulhat. Ha így lenne, próbáld meg külső Vdd bekapcsolásával, vagy csökkentsd a kondit.
De lehet, hogy a PIC vesz fel túl nagy áramot, vagy más az áramkörben...
(#) Attila86 válasza watt hozzászólására (») Ápr 7, 2010 /
 
47uF+100n van a PIC táplábain. Most próbáltam külső tápról is programozni de az se ment. :no:
A nyákon nincs más ami áramot felvehetne, egyenlőre csak passzív alkatrészek vannak beforrasztva.
(#) szilva válasza watt hozzászólására (») Ápr 7, 2010 /
 
Én egyébként úgy tapasztaltam, hogy az MPLAB nagyon keveset vár a Vdd vagy a Vpp bekapcsolása után, aztán rögtön rá is olvas. Ha a külső áramkörben van valamilyen terhelés/puffer ezeken a vonalakon, akkor emiatt előszeretettel nyöszög, hogy szerinte kevés a Vdd vagy a Vpp (mert még épp nem alakult ki a megfelelő szint).

Ha nem debugolás, hanem csak a programozás a cél, akkor én ezek miatt mindig a PICkit2 progit használom, és általában úgy állítom be, hogy a PK2 nyomógombra programozzon. Így a program újrafordítása után csak a PK2 gombján kell egyet nyomni, aminek hatására a hex-et újraolvassa és beprogramozza önállóan.

Debugolás esetére érdemes külső táppal ellátni az áramkört, főleg, ha nagyobb fogyasztók is vannak benne.
(#) watt válasza szilva hozzászólására (») Ápr 7, 2010 /
 
Dettó.
(#) watt válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Akkor elég gyanú van arra, hogy a PIC veszi fel a nagy áramot.
(#) Attila86 válasza watt hozzászólására (») Ápr 7, 2010 /
 
1mA-t vesz fel külső tápról.
(#) Hp41C válasza Attila86 hozzászólására (») Ápr 7, 2010 /
 
Szia!

Mivel a program kiadott egy teljes törlés parancsot túl alacsony feszültségen, megpróbálnám most már 4.2 V fölötti Vdd-vel, a PicKit2 programjával, Manual device select, Erase... Még egy ötlet: kapcsold be a "Vpp first" programozási módszert.

Azt tapasztaltam, hogy a PicKit2 programja, a PicKit2 csatlakoztatása nélkül indítva, elállítja a Vdd értékét...

Két próbát megér...
(#) Amarton hozzászólása Ápr 7, 2010 /
 
Sziasztok.
Van valakinek egy működő 3 bytos BCD konvertere, amit közzé tenne.
Van 3 bájtom és ezek értékét írnám ki az LCD kijelzőre.
0x09 | 0x27 | 0xC0 | szerepel most a kijelzőn és 600.000-nak kellene lennie
(#) Hp41C válasza Amarton hozzászólására (») Ápr 7, 2010 /
 
Szia!

Már régen közzétettek sokfélét... innen letöltött kódból 48 bites BCD konverziót is csináltam...
(#) mrfencer hozzászólása Ápr 7, 2010 /
 
Üdv!

Valamelyikőtök foglalkozott már olyannal, hogy egy RFID-s kártyaolvasót kötött össze PIC-el és kiolvasta a kártya számot? Vagy valami hasonlóval? Kis házi beléptetőt szeretnék csinálni, a szobámra Tudnátok javasoni, valamit hogy hol keresgéljek?
Köszi!
(#) icserny válasza Tukora hozzászólására (») Ápr 7, 2010 / 1
 
Idézet:
„Egyszerűen copy-paste-tel bemásolom a hex file végére? Esetleg van egy ilyen opció az MPLAB-ban?”
Mindkettő járható út, csak előbb a betöltendő fájl címzését meg kell operálni, hogy a megfelelő címre töltődjön.

Ha például a betöltendő fájl Intel 32 bites HEX formátumban van, akkor remélhetően a felső címbiteket egy 04-es típusú Kiterjesztett lineáris cím rekord adja meg. Szerencsés esetben elég ezt megműteni. Ha a fájl így kezdődik:
:020000040000FA

Akkor az utolsó négy nullából 0001-et kell csinálni (64 K eltolás), és hozzá kell igazítani a kontrollösszeget:
:020000040001F9

Ezután az átszerkesztett fájl bemásolható a saját programod HEX állományába, vagy beimportálható az MPLAB-ba.


Bővebben: Link
(#) Tukora válasza Hp41C hozzászólására (») Ápr 7, 2010 /
 
Köszi a válaszokat, átnéztem az Intel hex formátumát, s bár a firmware bináris file-ban van, könnyedén át lehet alakítani hex-be. Találtam egy konvertert is:
BINARY to HEX converter
Így már nincs akadálya a file program-memóriába való töltésének.
Még egyszer köszi!
(#) Hp41C válasza Tukora hozzászólására (») Ápr 7, 2010 /
 
Szia!

A leírásomba egy kis hiba csúszott: A címben 64K eltolást javasoltam, az IntelHex-nél 32K-s eltolást írtam le. Nézd meg icserny leírását a 64K -s eltolásról. (Csak egy rekordot kell a firmware elé tenni, a benne levő címek maradhatnak változatlanok...)
(#) Attila86 hozzászólása Ápr 7, 2010 /
 
Vettem egy új PIC18F2423-at, de ezt sem ismeri meg sem az MPLAB, sem pedig a PK2 programja! Elég elszomorító...
Következő: »»   718 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem