架构师_程序员_码农网

P Získanie hesla
Registrácia

QQ登录

Stačí jeden krok, aby ste mohli začať

Vyhľadávanie
Zobrazenie:6245|Odpoveď: 0
打印 上一主题 下一主题

Zigbee Journey (II): Prvý program CC2430 - experiment s blikaním LED

[Kopírovať odkaz]
V 跳转到指定楼层
majiteľovi budovy
发表于 2014-10-30 23:15:39|只看该作者回帖奖励|Reverznéprehliadanie|Režim čítania
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:

2011021320144913.jpg

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++) &nbsp


; 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:

2011021320413789.jpg
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í!






Predchádzajúci: [Odkazy] Cesta Zigbee (I): začiatok sveta
Ďalšie: [Správa]Zigbee cesta (III): Niekoľko dôležitých základných experimentov s CC2430 - externé prerušenia
Kód farmárskej siete, zverejnený len v procese praxe, vyskytli sa technické ťažkosti, neuvádzajte ostatných do omylu.

T áto verzia integrálnych pravidiel


VYHLÁSENIE: Všetok softvér, programové materiály alebo články uverejnené Code Farmer sa môžu používať len na vzdelávacie a výskumné účely; uvedený obsah sa nesmie používať na komerčné alebo nezákonné účely, inak všetky dôsledky znášajú samotní používatelia. Táto stránka informácie zo siete, spor o autorské práva nemá s touto stránkou nič spoločné. Vyššie uvedený obsah musíte do 24 hodín od stiahnutia úplne odstrániť z počítača. Ak sa vám program páči, podporte prosím originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás e-mailom, aby sme to mohli riešiť.

Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Mapa stránok

GMT+8, 2024-9-17 14:48

Rýchla odpoveďSpäť na začiatokSpäť na zoznam