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: 20901, Oldal olvasási idő: kb. 3 perc
Lapozás: OK   6 / 7

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ához

A 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 PICkit2 UART Tool-nak küldött üzeneteket minden sor végén CR+LF (0x0D és 0x0A karakterkódok) sorvége jelet kell küldeni. Ez eltér a PIC24 Támogatói Programkönyvtár alapértelmezett beállításától, ezért az alapéretelmezett sorvége jelet át kell állítani a SERIAL_EOL_DEFAULT=SERIAL_EOL_CR_LF makró definiálásával.

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ányaiban

1. 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:

  1. #ifdef __PIC24HJ128GP502__
  2. #define DEV_ID 0x00067d
  3. #define DEV_ID_STR "PIC24HJ128GP502"
  4. #define EXPECTED_REVISION1 0x003001
  5. #define EXPECTED_REVISION1_STR "A1"
  6. #define EXPECTED_REVISION2 0x003002
  7. #define EXPECTED_REVISION2_STR "A2"
  8. #endif

Egy példaprogram kimenete

A 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!
Következő: »»   6 / 7
Értékeléshez bejelentkezés szükséges!
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