| I. Pokračovanie tam, kde sme skončili V predchádzajúcom článku "Cesta Zigbee (I): Začiatok" sme stručne predstavili Zigbee a jeho vývojové prostredie, OK, teraz, keď sú nástroje kompletné, vyvstáva otázka: Ako použiť softvér a hardvér na napísanie programu, ktorý sa dá spustiť? Tento článok má v podstate odpovedať na uvedenú otázku: na "blikanie LED svetla" ako príklad malého experimentu, ako nakonfigurovať IAR na vývoj programov založených na CC2430, ako používať IAR na písanie a ladenie programu online. Konfigurácia IAR IAR je výkonná vstavaná vývojová platforma, ktorá podporuje mnoho druhov čipov, a každý projekt v IAR môže mať vlastnú konfiguráciu vrátane typu zariadenia, haldy/zásobníka, linkera, ladiaceho programu atď. (1) Nový pracovný priestor a projekt Najprv vytvorte nový priečinok ledtest, otvorte IAR, vyberte hlavnú ponuku File (Súbor) -> New (Nový) -> Workspace (Pracovný priestor), aby ste vytvorili nový pracovný priestor. Vyberte Project -> Create New Project -> Empty Project, kliknite na tlačidlo OK a uložte súbor projektu do priečinka ledtest s názvom: ledtest.ewp (ako je uvedené nižšie). (2) Konfigurácia všeobecných možností Nastavenie cieľa: Zariadenie: CC2430; Režim kódu: Blízko; Dátový model: Veľký; Konvencia volania: Zásobník XDATA reetrant
Nastavenie dátového ukazovateľa: Počet DPTR: 1
Nastavenie zásobníka/Heap: XDATA veľkosť zásobníka: 0x1FF (3) Nastavenia prepojovača Príkazový súbor linkera: select lnk51ew_cc2430.xcl
(4) Nastavenia ladiaceho programu: Ovládač: Texas Instruments (tento experiment pre ladenie skutočného stroja, takže vyberte TI; ak iné postupy na použitie emulátora IAR, voliteľný Simulátor) Zariadenie Popisný súbor: CC2430.ddf
V tomto okamihu je konfigurácia IAR pre tento experiment v podstate ukončená, nasledovať bude predstavenie jeho kódovej implementácie. Po tretie, príprava programového kódu(1) Nový programový súbor Vyberte položku File->New->File, vytvorte nový súbor main.c. (2) Zavedenie hlavičkových súborov Programy založené na CC2430 musia obsahovať odkaz na súbor ioCC2430.h, ktorý definuje mapovanie adries rôznych typov registrov špeciálnych funkcií (SFR) CC2430. #include //Zaviesť hlavičkový súbor zodpovedajúci CC2430 (obsahuje definíciu každého SFR) Tento súbor je zabudovaný v IAR (podobne ako stdio.h), myšou prejdite na tento riadok kódu, kliknite pravým tlačidlom myši, vyberte OPen "ioCC2430.h", uvidíte celý obsah tohto hlavičkového súboru. (3) Definujte kolíky LED Skontrolujte schému zapojenia vývojovej dosky, ako je znázornené nižšie:
Je známe, že led1~4 sú ovládané kolíkmi P1_0~P4_0, takže môžeme definovať led1, led2, led3, led4 ako kolíky P1_0, P2_0, P3_0, P4_0, v uvedenom poradí. #define led1 P1_0 //definujte LED1 ako ovládací port P1_0 #define led2 P1_1
//definujte led2 ako ovládanie portu P1_1 #define led3 P1_2 //definujte led3 ako ovládanie portu P1_2 #define led4 P1_3 //definovať led4 pre ovládanie portu P1_3 (4) Hlavná funkcia Ďalej začnite písať hlavnú funkciu. Predovšetkým pred použitím portov P1.0~P1.4 musíte nastaviť ich pracovný režim a smer vstupu/výstupu, čo zahŕňa dva SFR: P1SEL, P1DIR. P1SEL = 0x00; /Nastavenie P1 ako bežného I/O portu P1DIR |= 0x0F; & nbsp; //Nastaviť P1.0 P1.1 P1.2 P1.3 ako výstupy Tipy Zigbee CC2430 má P0_0 ~ P0_7, P1_0~P1_7, P2_0~P2_7 spolu 21 vstupno-výstupných portov. Možno ich použiť ako všeobecné digitálne I/O alebo na pripojenie periférnych IO, ako je ADC, časovač/počítač alebo USART. V SFR CC2430 sú tri typy registrov, ktoré možno použiť na konfiguráciu týchto portov IO: ①PxSEL (x je 0/1/2 ): výber funkcie portov P0/P1/P2 PxSEL (x je 0/1/2): výber funkcie portu P0/P1/P2 nbsp;0: všeobecný digitálny IO, 1: periférny IO, predvolená hodnota je 0 ② PxDIR (x je 0/1/2): smer portu P0/P1/P2 & nbsp;0: vstup, 1: výstup, predvolená hodnota je 0 ③PxINP (x je 0/1): vstupný režim portu P0/P1 0: vstup, 1: výstup, predvolené nastavenie je 0 nbsp;0: pull-up/down, 1: trojstavový, predvolená hodnota je 0 Konfigurácia sa vyžaduje pri používaní portu IO, ak je predvolené, potom prevezmite predvolené nastavenie systému. Potom inicializujte 4 LED diódy, nastavte ich všetky na vypnuté:
led1 = 1; led2 = 1; led3 = 1; led4 = 1. Nakoniec napíšte kód efektu blikania LED:
led1 = 0; //led1 bliká Delay(10); led1 = 1; Delay(10); led2
= 0; //led2 bliká Delay(10); led2 = 1; Delay(10); led3 = 0; //led3 bliká Delay(10); /
//led3 bliká Delay(10); led3 = 1; Delay(10); led4 = 0; //led4 bliká &
nbsp; Delay(10); led4 = 1; Delay(10);
Toto zahŕňa podfunkciu oneskorenia Delay(unsigned char n):
v oid Delay(unsigned char n) { unsigned char i; unsigned int j; for(i = 0; i < n; i++)  
; for(j = 1; j; j++) ; } (5) Prehľad kódu Spojte vyššie uvedený kód do celku, ako je uvedené nižšie: //Zavedenie hlavičkových súborov #include //uveďte hlavičkový súbor zodpovedajúci CC2430 (vrátane definície jednotlivých SFR)
//definujte kolíky LED #define led1 P1_0 //definujte LED1 pre riadenie portu P1_0 #define led2 P1_1 //definujte LED2 ako ovládanie portu P1_1 #define led3 P1_2 //definujte LED3 ako ovládanie portu P1_2 #define led4 P1_3 //define LED4 pre ovládanie portu P1_3 //podprogram oneskorenia void Delay (unsigned char n) { unsigned char i. unsigned int j. for (i = 0; i < n; i++) for (j = 1; j; j++) ; }
void main (void ) { P1SEL = 0x00; //Nastaviť P1 ako normálny I/O port P1DIR |= 0x0F; //Nastaviť P1.0 P1.1 P1.2 P1.3 ako výstupy led1 = 1; //inicializácia, všetky 4 led svetlá zhasnú led2 = 1; //inicializácia, všetky 4 led diódy sú vypnuté led3 = 1; led4 = 1; //inicializovať, všetky 4 led svetlá vypnuté led2 = 1; led3 = 1; led4 = 1; //inicializovať, všetky 4 led svetlá vypnuté while(1) //začiatok cyklu { led1 = 0; //bliká led1 Delay (10 ); //Odklad (10); //Odklad (10); //Odklad (10 ) delay(10); led1 = 1; //led1 bliká Delay (10 ). led2 = 0; //led2 bliká Delay (10 ); led2 = 1; //led2 bliká led2 = 1; //led2 bliká Delay (10 ). led3 = 0; //led3 bliká Delay (10 ); led3 = 1; //led3 bliká led3 = 1; //led3 bliká Delay (10 ). led4 = 0; //led4 bliká Delay (10 ); led4 = 1; //led4 bliká led4 = 1; //led4 bliká Delay (10); //Delay (10 ) } }
OK, kód pre tento malý experiment je napísaný, nie je veľmi jednoduchý ach, hehe~! Po štvrté, kompilácia a ladenie Vyberte Project -> Make, skompilujte kód, ak sa to podarí, zobrazí sa nasledujúci výstup:
c
Pripojte zariadenie Zigbee v poradí vývojová doska Zigbee → ladiaca jednotka → port USB počítača a potom vyberte Project -> Debug, program sa automaticky stiahne do vývojovej dosky. Potom vyberte Debug -> Go na spustenie programu a uvidíte, ako postupne blikajú 4 LED diódy! Aj keď je to jednoduché nemôže byť jednoduchšie malé experimenty, ale keď sa mi podarilo dosiahnuť, alebo malé nadšené ~ huh! V. Záver V tomto článku je "experiment s blikaním svetla LED" ako základ, resp. od konfigurácie IAR, prípravy programového kódu, ako aj procesu kompilácie a ladenia predstavuje celý proces implementácie. V ďalšom to bude v pochopení základného procesu vývojových postupov na základe predstavenia niekoľkých CC2430 vývoj základných experimentov zahŕňajúcich časovače, sériovú komunikáciu, AD konverziu, uspanie systému a watchdog atď, takže zostaňte naladení! |