- Access_OK:
- High RL1
- pause RL1_ON_time
- low RL1
Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Szétnéztem már sokfelé de nem tudtam egyértelmű választ kapni: hogyan lehet egy PicKit2-vel debugolni egy 16F690-et? Lehet egyáltalán? És milyen program kell hozzá? (sajnos az Mplabot nem ismerem) Előre is köszönöm a válaszokat!
A hivatalos forrás a www.microchip.com/pickit2, benne a támogatott mikrovezérlők listájával.
Idézet: „hogyan lehet egy PicKit2-vel debugolni egy 16F690-et?” Rövid válasz: sehogy! Bővebb válasz: a PIC16F690 egy speciális változatát kell használni, azt kell a helyére dugni (ha foglalatban volt a PIc). Ez a speciális változat az AC162061 adapter formájában vásárolható meg, de kell hozzá egy átmenő kábel is, mert az adapteren telefoncsatlakozó van (mint amilyet az ICD2 használ). SZVSZ: Ha mindenáron debug-olni akarsz, sokkal olcsóbb megoldás, ha egy nagyobb tudású PIC-et veszel helyette.
A VDDCORE/VCAP -ra az egyik 100nF helyett felraktam egy 10µF kondit. Ilyen már csak polarizált volt , de gondolom ez mindegy. Egyébként ha PICKIT programot elinditom és még nincs rádugva a 18F97J60 akkor szól hogy ellenőrizzem a A VDDCORE/VCAP kondi meglétét. Amikor rádugom már nem írja ezt , de a helyzet változatlan, végigmegy a programozás , aztán írja hogy failed 0x000000 adress ....
Az MCLR lábhoz vezető vonalban volt egy 200 ohmos ellenálás , kiszedtem , de változás nem történt sajnos ...
Maradhatott volna...
Meg kellne nézni, hogy meg van-e a tápfesz (ha a PICkit2-rőlmegy a tápellátás, akkor érdemes kalibrálni), s eljut-e a PIC-re rendesen, nem terheli-e le a környezet.
Ha a panel saját tápjáról megy ami 3,01V ( PICKIT is ennyit mér ) akkor is ugyanez a helyzet.
Végigmegy a programozás, majd az ellenörzésnél rögtön jön a hiba. Már kezdek a legroszabbra gondolni , hogy megdöglött a PIC .... Másik meg nincs itthon ilyen ![]()
Köszönöm szépen Icserny válaszát, ezeket még nem láttam!
Köszönöm Idézet: „Ha a panel saját tápjáról megy ami 3,01V ( PICKIT is ennyit mér ) akkor is ugyanez a helyzet.” Nem lehetne próbaképpen 3,3 V-ot adni neki ? A 27.1 táblázatban az áll, hogy VDD minimális értéke bekapcsolt Ethernet modul esetén 3.1 V. Nehogy már ezért ne működjön!
Sziasztok!
Egyszer már írtam, hogy az ellenállásokkal való feszültségosztónak az a baja, hogy a kimeneti karakterisztikája nem lineáris. A felső ellenállás helyett áramgenerátort (LM394) alkalmazva ez a hiba kiküszöbölhető. Ha 1mA áramot állítasz be, akkor:
465-164 = 301 -> 150 fok eltérésre 301 kód változást kapunk. Ez fél fokos felbontású, lineáris skálájú mérés.
Sziasztok!
Van egy kis gondom a BASELINE tipusú PC10F206 programozásával. Sorozat programozóval programozom őket nem ICSP n keresztül. Az a jelenség hogy elég sűrűn van olyan hogy OSCCAL invalid értéket ír (általában 0FFF) a PICkit2 a programozáskor. Ilyenkor sem az OSCCAL programon belüli újragenerálása, sem a manuális beállítás nem segít. Mitől lehet ez a probléma? És miért jön elő esetlegesen? Az egyik példánynál jó a másiknál nem jó....Mivel lehet ezt a hibát megszüntetni? Köszi
Szerintem valami nem stimmel az aramkorodben -- pl nincs hidegito kondi a PIC labanal vagy nem jol erintkezik. Ha jol ertem van egy programozo headered es abba helyezed bele a PIC-et meg mielott felprogramoznad? Ez DIP-es vagy a SOT23-6?
(En ICSP-n keresztul programoztam a 10F202-t mindig es nagyon ritkan volt gondom vele. Mikor gond volt szinte biztos lehettem benne volt egy hideg forrasztas vagy zarlat... Szinten PICkit2-vel, de "piros gombosra" atalakitas utan amit magam vegeztem el).
Szisztok segítséget szeretnék kérni tőletek. Építetem egy kód zárat de csak 3 másodpercig tartja bekapcsolva a relét viszont nekem 30 másodpercre lenne szükségem. Próbálkoztam már az RL1_ON_time con 1000 * 3 'sec. Relay ON time módosításával de nem jártam sikerrel. Ha tudna valaki segíteni nagyon szépen megköszönném.
Csatolom a filet. Elöre is köszönöm! Üdv. Thomas
Hello!
Eddig ez volt az első égetőm. Pont a te oldaladról vettem az ötletet innen:Bővebben: Link Szerintem az áramkört jól építettem össze, eddig ilyen áramkörökben nem nagyon szoktam hibázni..bár most kitudja. ![]()
Nem lehet tudni, hogy meddig növelhető az érték túlcsordulás nélkül. Egyszerűbbnek tűnik ha az alábbi részben a pause-k számát növeled:
helyett például ötszörösre növeljük a késleltetést:
Mostmár csak az a kérdés, hogy a program befér-e a memóriába...
Szia nagyon szépen köszönöm a gyors választ!
Kipróbáltam az ötletedet lefutattam Proteusnak a szimulátorba, de sajna nem változott semmit. ![]()
A sorozat programozó az házgyári, tulajdonképpen egy panel amire fel van tervezve a SOT23-6 helye. A PIC et egy alpakka lemez szorítja rá a PAD ekre programozás közben. Az ICSP hez használatos lábak ki vannak vezetve, innen van csatlakozás a PICkit 2 höz (piros gombos) Kicsit félreérthetően fogalmaztam mikor azt írtam hogy nem ICSP n keresztül programozok, úgy értettem hogy nem áramköri környezetben van a mikrovezérlő programozás közben. A táp lábon van közvetlenül egy 100n. Viszont a forrásban találtam egy olyan részt hogy :
MOVLW B'00000000' MOVWF OSCCAL Ez eredetileg az oszcillátor frekvenciát állítja be a középfrekvenciára. Kicsit visszaolvastam az OSCCAL al kapcsolatban a fórumot, és ezek után kivettem az inicializálásból ezt a 2 sort. Szerintem nem kell, főleg abban az alkalmazásban amiben a PIC10F206 ot használom. Egy "mezei" várakoztatós késleltető áramkör, csak relatív sok kell belőle és igen kis méretben kellett összeraknom . Ezért lespóroltam a panelről az ICSP csatlakozót. Azóta megszünt a hiba, de az az érdekes hogy kb 1 éve használom ezt az egyszerű kis programot különféle megoldásokhoz és ilyen problémám sosem volt még vele akkor sem mikor a 2 kérdéses programsor benne volt az ini. ben.
Tisztázzunk azért néhány dolgot, nehogy elbeszéljünk egymásmellett:
1. Az RL1 kapcsolgatása az A port 3-as lábán történik (0-tól kezdődik a számozás), azt a lábat nézed? 2. A program lefordul egyáltalán (keletkezik-e friss dátumú hex)? 3. Készíthető-e assembly lista a fordításkor? Olyan nincs, hogy 5 késleltetés ugyanannyi, mint egy késleltetés, ezért gondolom, hogy valami félreértés/-nézes van a dologban.
Igen de egyszerüb ha te is látod a kapcsolási rajzát.
Csatolom.
Hát a Basic file-t betöltöm az MPlab-ba és onnan exportálom hex-be.
C18 alatt van egy kis problémám. Egy LCD-hez írok függvényeket és a következő kód lefut, de a pointer értelmezésével vannak gondok.
A C18 a sztringeket a programmemóriában tárolja. Viszont a fenti kód esetén ram pointerként megy át a mutató. Próbáltam explicit megadást is, de akkor type mistach hibaüzenetet ad. Szerintem meg pont nélküle van type mismatch és nem is működik helyesen. Szóval hogy is kell a fenti kódot megírni? A sztringet nem szeretném külön definiálni, csak így függvényparaméterként átadni.
Nem vagyok benne biztos, de nem kell return; a while ciklus után ? Csak mert sok helyen láttam már ilyesfajta függvényt, azokban volt, de lehetséges, hogy ez nem hiba és most hülyeséget mondtam.
Én nem programoztam még C18 -ban, de egy tipp: mi van akkor ha const char pointert várna a függvényed ?
nem kell return, mert void a visszatérési érték...
Próbáltam const -al is, úgy is type mismatch hibaüzenetet ad. Csak úgy fordul le, ahogy az előző hozzászólásban látható, de nem jól működik.
Hát én úgy kerültem meg a problémát, hogy van egy temp stringem, és strcpy -val, meg sprintf -el töltöm fel mindíg, amit azután kiírok.
Idézet: „A sorozat programozó az házgyári, tulajdonképpen egy panel amire fel van tervezve a SOT23-6 helye. A PIC et egy alpakka lemez szorítja rá a PAD ekre programozás közben.” Magyaran az elo fordulhat, hogy a labak nem megfeleloen erintkeznek? Altalaban valamilyen rugos erintkezot szoktak alkalmazni, bar sokak szerint a tokbol kijovo labak is megfelelo rugokent viselkednek. Nem tudom, probaldd meg enyhen megcinezni a pad-eket (utana harisnyaval szedd fel a felesleget, csakhogy a felulet ujra legyen futtatva). Idézet: „Az ICSP hez használatos lábak ki vannak vezetve, innen van csatlakozás a PICkit 2 höz (piros gombos) Kicsit félreérthetően fogalmaztam mikor azt írtam hogy nem ICSP n keresztül programozok, úgy értettem hogy nem áramköri környezetben van a mikrovezérlő programozás közben.” Nem fogalmaztal felre erthetoen. Az ICSP az (In-Circuit Serial Programming) -ra utal, azaz aramkorbe epitett soros programozas), nalad pedig nem az aramkorben, hanem abbol kiemelve van az IC... Idézet: „MOVLW B'00000000' MOVWF OSCCAL” Nem feltetlen baj ez, csak elmeletileg ezt ugy kellene, hogy figyeln kell miert kovetkezett be a reset, es ha POR van akkor valami ilyesmi kellene (meg mielott a W-t bantanad): ANDLW 0xFE MOVWF OSCCAL (Az AND azert kell mert a legalso bit az FOSC/4 kirakasat vezerli a TOSC labra, ha veletlenul bebillenne akkor baj szarmazodhatna belole) Tudni kell meg azt is, hogy a POR-kor a PC erteke 0x1FF azaz a program tar legmagasabb helyi erteken kezdi el az utasitasok vegrehajtasat. Normal esetben ott van ugye a MOVLW
Szia!
A pickit2 usbdsc.c állományában a program memóriában létrehozandó struktúrák definicióra rom -mal kezdődik.
Sziasztok!
A segítségeteket kérném egy probléma megoldásában. Egy akkumulátortöltőhöz készítek egy PIC mikrokontrollerrel működő kis kiegészítést, az áramkör a kimeneti feszültséget és áramot és az akkuhőmérsékletet méri és írja ki LCD-re, illetve soros porton keresztül számítógépen is leolvashatók ezek az adatok. A program megírásával vannak problémáim. A programot pascal nelven szeretém megírni (hozzám ez áll közelebb), a számítógépes segédprogram Delphi nyelven fog íródni. A PIC programban miután beolvasom az analóg értékeket, az AD konverzió utáni értéket meg kell szoroznom egy konstanssal, illetve amennyiben szükséges offszetértékkel is el kell tolni. A szorzót és ofszetet szeretném a segédprogram segítségével megadni a PIC-nek. A kérdésem az lenne, hogyan tudom megadni a PIC-nek azt, hogy a konstans amit éppen elküldök az micsoda és, hogy az EEPROM-ba hova írja be? A másik kérdésem az lenne, hogy hol találok olyan C vagy pascal nyelven írt PIC mintaprogramokat, amelyek szájbarágós módon sorról-sorra elmagyarázzák a program működését? A segítségeteket előre is köszönöm! |
Bejelentkezés
Hirdetés |