Fórum témák
» Több friss téma |
Cikkek » Mesterkedések PIC24 és dsPIC33 mikrovezérlőkkel Mesterkedések PIC24 és dsPIC33 mikrovezérlőkkel
Szerző: icserny, idő: Jún 13, 2009, Olvasva: 20972, Oldal olvasási idő: kb. 3 perc
Az ECE3274 kurzus mintaprogramjai az RB11 (Tx) és az RB10 (Rx) lábra konfigurált UART porton keresztül kommunikálnak a számítógéppel. Ha nincs USB-UART átalakító kábelünk, akkor az alábbi rajzon látható módon egy PICkit2 készüléket is csatlakoztathatunk, s akkor a PICkit2 kezelőprogram UART Tool üzemmódjában elolvashatjuk a képernyőn a mikrovezérlőn futó program üzeneteit. A használatnál annyi kényelmetlenséggel számolnunk kell, hogy új programok kipróbálásához a PICkit2 készüléket váltogatni kell a programozó és az itt bemutatott kommunikáló csatlakozók között. A rajzon látható alkatrészek közül C4, C5, R2 és az "életjel" LED a 2. oldalon látható alapkapcsolás része. Új elemek: LED1, az SW1 nyomógomb és az SW2 kapcsoló. Ezek majd a led_sw1.c mintaprogram kipróbálásához kellenek. Mint látható, a soros kapcsolat kialakításához csak egy 6 érintkezős tüskesorra és 4 szál drótra van szükségünk (Tx, Rx, VDD és VSS). Figyelem! A VDD és VSS lábakat akkor is be kell kötni, ha nem a PICkit2-ről biztosítjuk az áramkör tápellátását! Az alábbi ábrán a PICkit2 az UART csatlakozóhoz kapcsolódik. Az ICSP (programozó) csatlakozó a kép bal szélén látható, programbeégetéshez oda kell csatlakoztatni a PICkit2 készüléket.
Beállítások az UART Tool használatáhozA PICkit2 UART Tool üzemmódjában 38400 bit/s a maximálisan beállítható átviteli sebesség, ezért az ECE3274 kurzus mintaprogramjainak lefordítása előtt át kell állítani az alapértelmezett adatátviteli sebességet. Ehhez az MPLAB Project/Build options menüpontban a C30 fordítónál a DEFAULT_BAUDRATE=38400 makrót kell definiálnunk. A fenti makrókat az MPLAB Project/Build Options menüpontban definiálhatjuk, az MPLAB C30 fül kiválasztása után, az ADD... gombra kattintva, a képen látható módon. Apró javítások az ECE3274 programkönyvtár állományaiban1. A common/pic24_serial.c állományban a stringOut() eljárásban ellenőrizni kell a CR/LF karakterek kiírásának sorrendjét. E sorok írásának idején a "gyári" kód hibás (nem a CR, hanem az LF kódot írja ki elsőként, s így a PICkit2 nem ismeri fel a sorvége jelet), de a szerzők megígérték, hogy hamarosan kijavítják a hibát. A helyes kódrészlet így néz ki (a megjelölt sorok sorrendjére kell ügyelni):
2. A mintaprogramok induláskor megpróbálják felismerni a mikrovezérlő típusát és verzióját. A PIC24HJ128GP502 típusnál az A2 és A3 verziók felismerése hiányzik, így emiatt hibajelzést kaphatunk. Ha ezt el akarjuk kerülni, akkor az include/pic24_util.h állományt egészítsük ki, hogy erre a típusra vonatkozóan ez álljon benne:
Egy példaprogram kimeneteA tankönyv 8. fejezetének ledsw1.c mintaprogramja a fenti a kapcsolási rajz szerinti áramkörhöz használható. A LED1 állapotát az SW1 nyomógombbal kapcsolgathatjuk. Ha SW2 zárt, akkor az első gombnyomás bekapcsolja, a következő gombnyomás kikapcsolja a LED-et. Ha SW2 nyitott, akkor a fentiek közé még egy állapot is beékelődik, amikor LED1 villog (kb. 5 Hz-es frekvenciával), s csak egy újabb (a harmadik) gombnyomás és felengedés után alszik ki a LED1 fénye. A másik LED (az "életjel" pedig a program futása során minvégig 2 Hz-es frekvenciával villog. A véges állapotgép elvén megvalósított program részletes ismertetése a PIC-kwik projekt honlapján az I/O portok c. fejezetben található, itt csak a program által kiírt üzeneteket mutatjuk be, úgy, ahogy a PICkit2 UART Tool ablakában láthatjuk. Az UART Tool indításához ki kell lépni az MPLAB környzetből, vagy legalábbis meg kell szüntetni a PICkit2 programozóként történő kijelölést (MPLAB Programmer menü-ben "None" választás). A PICkit2 saját kezelőprogramját kell elindítani, s a mikrovezérlő felismerése (ha a programozó csatlakozóra van csatlakoztatva a PICkit2 készülék) vagy a tápfeszültség beállításának ellenőrzése (3,3 V), a kommunikációs csatlakozóra dugjuk át a PICkit2 készüléket, majd a Tool menüben az UART Tool kiválasztása után beállítjuk az adatátviteli sebességet (38400 Baud), bekapcsoljuk a tápellátást (ha a PICkit2-ről tápláljuk a kísérleti áramkört), végül kattintunk a Connect gombra. Ha megnyomjuk a mikrovezérlő RESET gombját, majd nyomogatjuk az SW1 gombot, akkor az alábbi ábrán láthatóhoz hasonló kiírást láthatunk. Az ábrába a könnyebb tájékozódás segítésére berajzoltam SW2 állapotát. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |