Operácie

KwikStik blikane s LED: Rozdiel medzi revíziami

Z SensorWiki

(Popis programu)
(Rozblikanie LED diódy pomocou KwikStik modulu)
Riadok 1: Riadok 1:
 
= Rozblikanie LED diódy pomocou KwikStik modulu =
 
= Rozblikanie LED diódy pomocou KwikStik modulu =
  
 
+
LED diódu je potrebné pripojiť na TWRIPI Socket Kwikstik modulu podľa obrázka.
 
 
  
 
== Použité ovládače a súbory ==
 
== Použité ovládače a súbory ==
Riadok 28: Riadok 27:
  
 
  <nowiki>
 
  <nowiki>
InitClock(); //Inicializacia frekvencii jadra.
+
InitClock(); //Inicializácia frekvencií jadra.
InitSysTick(); //Inicializacia SysTick casovaca.
+
InitSysTick(); //Inicializácia SysTick časovača.
SIM_SCGC5 = SIM_SCGC5_PORTA_MASK; //Privedenie hodinoveho signalu na Port A. Hodinovy signal je potrebny pre funkcnost poru.
+
 
PORTA_PCR8 = PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK; //Nastavenie funkcie pinu 8 na Porte A ako GPIO (cez MUX)  
+
//Pre funkčnosť portu je potrebné naň priviesť hodinový signal.
//a povolenie vyzsieho odberu prudu (Drive Strength Enable) pre napajanie LED.
+
//Toto umožňuje SIM (System Integration Module).  
GPIOA_PDDR |= (1<<8); //Nastavenie pinu 8 na Porte A na vystup.
+
//Privedenie hodinového signálu na Port A.
 +
SIM_SCGC5 = SIM_SCGC5_PORTA_MASK;
 +
 
 +
//Nastavenie funkcie pinu 8 na Porte A ako GPIO (General Purpose Input Output)
 +
//a povolenie vyžšieho odberu prúdu (Drive Strength Enable) pre napájanie LED diódy.
 +
PORTA_PCR8 = PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK;
 +
 +
//Nastavenie pinu 8 na Porte A na výstup.
 +
GPIOA_PDDR |= (1<<8);
 +
 
 
for(;;){
 
for(;;){
GPIOA_PTOR = (1<<8); //Zmena urovne na vystupe pinu 8 na Porte A.
+
GPIOA_PTOR = (1<<8); //Zmena úrovne na pine 8 na Porte A.
 
Delay_mS(500); //delay 500ms
 
Delay_mS(500); //delay 500ms
 
}</nowiki>
 
}</nowiki>

Verzia zo dňa a času 23:42, 22. december 2012

Rozblikanie LED diódy pomocou KwikStik modulu

LED diódu je potrebné pripojiť na TWRIPI Socket Kwikstik modulu podľa obrázka.

Použité ovládače a súbory

V projekte pre rozblikanie LED diódy sú použité súbory a ovládače zo vzorových projektov spoločnosti Freescale. Sú to:

Clock.c<br\> Clock.h

Súbor obsahuje funkciu (InitClock) a definície pre inicializáciu frekvencie MCU. Funkcia InitClock nastavi nasledovné MCU na nasledovné frekvencie:

  • core (jadro) = 96Mhz
  • bus (zbernica) = 48Mhz
  • flexbus (flex-zbernica) = 48Mhz
  • flash (flash päť) = 25Mhz

SysTick.c<br\> SysTick.h

Ovládač pre SysTick (System Tick Timer), ktorý je využívaný pre delay funkciu. SysTick časovač je časť jadra CortexM4 preto sa jéj popis v referenčnom manuáli PK40X256 nenachádza. Popis SysTick časovača je možné nájsť v Cortex M4 Generic User Guide.

Popis programu

InitClock();				//Inicializácia frekvencií jadra.
InitSysTick();				//Inicializácia SysTick časovača.

//Pre funkčnosť portu je potrebné naň priviesť hodinový signal.
//Toto umožňuje SIM (System Integration Module). 
//Privedenie hodinového signálu na Port A.
SIM_SCGC5 = SIM_SCGC5_PORTA_MASK;

//Nastavenie funkcie pinu 8 na Porte A ako GPIO (General Purpose Input Output)
//a povolenie vyžšieho odberu prúdu (Drive Strength Enable) pre napájanie LED diódy.
PORTA_PCR8 = PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK;
			
//Nastavenie pinu 8 na Porte A na výstup.				
GPIOA_PDDR |= (1<<8);

for(;;){
	GPIOA_PTOR = (1<<8);	//Zmena úrovne na pine 8 na Porte A.
	Delay_mS(500);		//delay 500ms
}

Hotový projekt obsahuje dokumentáciu zdrojového kódu v anglickom jazyku.

Projekt na stiahnutie: Súbor:KwikStik LED Flash.rar

Zdroje a odkazy