架构师_程序员_码农网

U Získání hesla
Registrace

QQ登录

Stačí jeden krok, abyste mohli začít

Vyhledávání
Zobrazení:6245|Odpověď: 0
打印 上一主题 下一主题

Zigbee Journey (II): První program CC2430 - experiment s blikající LED diodou

[Kopírovat odkaz]
V 跳转到指定楼层
majiteli budovy
发表于 2014-10-30 23:15:39|只看该作者回帖奖励|Reverzníprocházení|Režim čtení
I. Pokračujeme tam, kde jsme skončili

V předchozím článku "Cesta Zigbee (I): Začátek" jsme si stručně představili Zigbee a jeho vývojové prostředí, OK, nyní, když jsou nástroje kompletní, vyvstává otázka: jak využít software a hardware k napsání programu, který lze spustit?

Tento článek má v podstatě odpovědět na výše uvedenou otázku: na "blikání světla LED" jako příklad malého experimentu, jak nakonfigurovat IAR pro vývoj programů založených na CC2430, jak použít IAR k psaní a ladění programu online.

Konfigurace IAR

IAR je výkonná embedded vývojová platforma, která podporuje mnoho druhů čipů, a každý projekt v IAR může mít vlastní konfiguraci, včetně typu zařízení, haldy/zásobníku, linkeru, debuggeru atd.

(1) Nová pracovní plocha a projekt

Nejprve vytvořte novou složku ledtest, otevřete IAR, zvolte hlavní nabídku Soubor -> Nový -> Pracovní prostor pro vytvoření nového pracovního prostoru.

Vyberte Project -> Create New Project -> Empty Project, klikněte na OK a uložte soubor projektu do složky ledtest, pojmenovaný jako: ledtest.ewp (jak je uvedeno níže).

(2) Konfigurace obecných možností

Nastavení cíle: Zařízení: CC2430;

Režim kódu: Blízko;

Datový model: Velký;

Konvence volání: Zásobník XDATA reetrant

Nastavení datového ukazatele: Počet DPTR: 1

Nastavení zásobníku/Heap: XDATA velikost zásobníku: 0x1FF

(3) Nastavení linkeru

Příkazový soubor linkeru: select lnk51ew_cc2430.xcl

(4) Nastavení ladicího programu:


Ovladač: Texas Instruments (tento experiment pro ladění reálného stroje, proto zvolte TI; v případě jiných postupů použijte emulátor IAR, volitelně Simulátor) Zařízení Soubor s popisem: CC2430.ddf

V tuto chvíli je konfigurace IAR pro tento experiment v podstatě u konce, následuje představení jeho kódové implementace.

Za třetí, příprava programového kódu(1) Nový programový soubor

Zvolte Soubor->Nový->Soubor, vytvořte nový soubor main.c.

(2) Zavedení hlavičkových souborů

Programy založené na CC2430 musí obsahovat odkaz na soubor ioCC2430.h, který definuje mapování adres různých typů registrů speciálních funkcí (SFR) CC2430.

#include //Zavedení hlavičkového souboru odpovídajícího CC2430 (obsahuje definici jednotlivých SFR).

Tento soubor je zabudován do IAR (podobně jako stdio.h), myší na tento řádek kódu klikněte pravým tlačítkem myši, vyberte OPen "ioCC2430.h", zobrazí se celý obsah tohoto hlavičkového souboru.

(3) Definujte piny LED

Zkontrolujte schéma zapojení vývojové desky, jak je uvedeno níže:

2011021320144913.jpg

Je známo, že led1~4 jsou řízeny piny P1_0~P4_0 v tomto pořadí, takže můžeme definovat led1, led2, led3, led4 jako piny P1_0, P2_0, P3_0, P4_0 v tomto pořadí.


#define led1 P1_0 //definujte LED1 jako řídicí port P1_0 #define led2 P1_1

//define led2 jako P1_1 ovládání portu #define led3 P1_2 //define led3 jako P1_2 ovládání portu #define led4
P1_3 //define led4 pro ovládání portu P1_3

(4) Hlavní funkce

Dále začněte psát hlavní funkci.

Především je třeba před použitím portů P1.0~P1.4 nastavit jejich pracovní režim a směr vstupu/výstupu, což zahrnuje dva SFR: P1SEL, P1DIR.


P1SEL = 0x00; //Nastavení portu P1 jako běžného I/O portu P1DIR |= 0x0F; & nbsp; //Nastavit P1.0 P1.1 P1.2 P1.3 jako výstupy

Tipy pro Zigbee
CC2430 má P0_0 ~ P0_7, P1_0~P1_7, P2_0~P2_7 celkem 21 I/O portů. Lze je použít jako univerzální digitální I/O nebo pro připojení periferních IO, jako je ADC, časovač/počítač nebo USART.
V SFR CC2430 jsou tři typy registrů, které lze použít ke konfiguraci těchto IO portů:
①PxSEL (x je 0/1/2 ): volba funkce portu P0/P1/P2.
PxSEL (x je 0/1/2): volba funkce portu P0/P1/P2. nbsp;0: univerzální digitální IO, 1: periferní IO, výchozí hodnota je 0
PxDIR (x je 0/1/2): Směr portu P0/P1/P2.
& nbsp;0: vstup, 1: výstup, výchozí hodnota je 0
③PxINP (x je 0/1): vstupní režim portu P0/P1.
 0: nahoru, 1: výstup, výchozí hodnota 0 nbsp;0: pull-up/down, 1: tri-state, výchozí hodnota je 0
Konfigurace je vyžadována při použití portu IO, pokud je výchozí, pak převezměte výchozí nastavení systému.

Poté inicializujte 4 LED diody, nastavte je všechny na out:




led1 = 1; led2 = 1; led3 = 1; led4 = 1.

Nakonec napište kód pro efekt blikání 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);


To zahrnuje podfunkci zpoždění 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) Přehled kódu

Spojte výše uvedený kód do celku, jak je uvedeno níže:

//Zavedení hlavičkových souborů
#include //uveďte hlavičkový soubor odpovídající CC2430 (včetně definice jednotlivých SFR).

//definujte vývody LED
#define led1 P1_0 //define LED1 pro ovládání portu P1_0
#define led2 P1_1 //define LED2 jako ovládání portu P1_1
#define led3 P1_2 //define LED3 jako ovládání portu P1_2
#define led4 P1_3 //define LED4 pro ovládání portu P1_3 //podprogram zpoždění
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; //Nastavte P1 jako normální I/O port
P1DIR |= 0x0F; //Nastavit P1.0 P1.1 P1.2 P1.3 jako výstupy

led1 = 1; //inicializace, všechny 4 LED diody zhasnou
led2 = 1; //inicializace, všechny 4 ledky zhasnuté
led3 = 1; led4 = 1; //inicializace, všechny 4 led diody vypnuty
led2 = 1; led3 = 1; led4 = 1; //inicializovat, všechny 4 led světla zhasnout

while(1) //zahájení cyklu
{
led1 = 0; //bliká led1
Delay (10 ); //Zpoždění (10 ); //Zpoždění (10); //Zpoždění (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 pro tento malý experiment je napsán, není příliš jednoduchý ach, hehe~!

Za čtvrté, kompilace a ladění

Vyberte Project -> Make, zkompilujte kód, pokud se to podaří, objeví se následující výstup:

2011021320413789.jpg
c

Připojte zařízení Zigbee v pořadí vývojová deska Zigbee → ladicí jednotka → port USB počítače a poté vyberte Project -> Debug, program se automaticky stáhne do vývojové desky.

Poté zvolte Debug -> Go pro spuštění programu a uvidíte, jak postupně blikají 4 LED diody! Sice se jedná o jednoduchý nemůže být jednodušší malé experimenty, ale když se mi to podařilo dosáhnout, nebo malý nadšený ~ huh!

V. Závěr

V tomto článku je "experiment s blikáním světla LED" jako základ, respektive od konfigurace IAR, přípravy programového kódu, jakož i procesu kompilace a ladění představuje celý proces implementace. Příště to bude v pochopení základního procesu vývojových postupů na základě představení několika vývojových CC2430 základních experimentů zahrnujících časovače, sériovou komunikaci, AD převod, uspání systému a watchdog , atd, takže zůstaňte naladěni!






Předchozí: [Odkázáno] Cesta Zigbee (I): začátek světa
Další: [Zpráva]Cesta Zigbee (III): Několik důležitých základních experimentů s CC2430 - externí přerušení
Kód farmářské sítě, zveřejněn pouze v průběhu praxe, vyskytly se technické potíže, neuvádějte ostatní v omyl.
Před odesláním příspěvku se musíte přihlásit Přihlásit se | Registrovat se

T ato verze integrálních pravidel


VYLOUČENÍ: Veškerý software, programové materiály nebo články publikované Code Farmerem jsou omezeny pouze na použití pro studijní a výzkumné účely; výše uvedený obsah nesmí být používán ke komerčním nebo nelegálním účelům, jinak veškeré následky ponesou sami uživatelé. Tyto stránky informace ze sítě, spor o autorská práva nemá s těmito stránkami nic společného. Výše uvedený obsah musíte do 24 hodin od stažení kompletně odstranit z počítače. Pokud se vám program líbí, podpořte prosím originální software, zakupte si registraci a získejte lepší originální služby. Pokud dojde k jakémukoli porušení práv, kontaktujte nás prosím e-mailem, abychom to mohli řešit.

Mail To:help@itsvse.com

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

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

Rychlá odpověďZpět na začátekZpět na seznam