Operácie

KwikStik blikane s LED: Rozdiel medzi revíziami

Zo stránky SensorWiki

Knotek (diskusia | príspevky)
Knotek (diskusia | príspevky)
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 z 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