R8d固件庫(kù)——GPIO固件庫(kù)函數(shù)說(shuō)明-電子發(fā)燒友網(wǎng) (elecfans.com)
上篇學(xué)習(xí)了GPIO的固件庫(kù),下面介紹如何做一個(gè)LED閃燈
LED的IO選擇與定義
開(kāi)發(fā)板上的LED為P46,所以我們先定義LED如下:
#define LED_PORT GPIO4
#define LED_PIN GPIO_PIN_6
#define LED_MOMDE GPIO_MODE_OUT_PP
然后為了代碼的可讀性,我們?cè)俣xLED開(kāi)與滅:
#define LED_ON() GPIO_WriteHigh(LED_PORT, LED_PIN)
#define LED_OFF() GPIO_WriteLow(LED_PORT, LED_PIN)
初始化GPIO的函數(shù)如下:
void LED_Init(void)
{
GPIO_Init(LED_PORT,LED_PIN, LED_MOMDE);
}
為了實(shí)現(xiàn)閃燈程序,我們必須要實(shí)現(xiàn)一個(gè)延時(shí)函數(shù),這里用定時(shí)器1實(shí)現(xiàn)了一個(gè)500ms標(biāo)志位
中斷處理函數(shù)如下:
void Timer0Interrupt() interrupt 1
{
TIM0_Mode1SetReloadCounter(38869);
{
T0Flag50msCount++;
if(T0Flag50msCount >= 50)
{
T0Flag50msCount = 0;
T0Flag50ms = 1;
}
}
}
到這里我們?cè)趍ain程序里書(shū)寫(xiě)代碼如下,就可以實(shí)現(xiàn)了閃燈:
void main(void)
{
IcResourceInit();
LED_Init();
while(1)
{
if(T0Flag50ms)
{
T0Flag50ms=0;
GPIO_TogglePin(LED_PORT,LED_PIN);
}
}
}
審核編輯:湯梓紅
-
led
+關(guān)注
關(guān)注
243文章
24324瀏覽量
683459 -
程序
+關(guān)注
關(guān)注
117文章
3832瀏覽量
84334 -
代碼
+關(guān)注
關(guān)注
30文章
4921瀏覽量
72205 -
GPIO
+關(guān)注
關(guān)注
16文章
1299瀏覽量
55237
發(fā)布評(píng)論請(qǐng)先 登錄
這個(gè)閃燈小程序哪里有錯(cuò)誤?
初識(shí)新定義NBK-RD8x3x開(kāi)發(fā)板,一塊值得關(guān)注的新定義開(kāi)發(fā)板!
新定義TBK RD8T3x開(kāi)發(fā)板值得了解的開(kāi)發(fā)板!
新定義TBK RD8T3x開(kāi)發(fā)板功能及上電開(kāi)機(jī)測(cè)試!
新定義NBK-RD8x3x開(kāi)發(fā)板簡(jiǎn)單測(cè)評(píng)及上電測(cè)試與定時(shí)器簡(jiǎn)單使用!
STM8L051F3 STM8L151x2/x3 Errata
led燈為什么有頻閃_led燈頻閃怎么解決_led燈頻閃測(cè)試方法

8X8矩陣燈的介紹和C語(yǔ)言源代碼的詳細(xì)資料免費(fèi)下載
4x4和5x8矩陣按鍵C語(yǔ)言程序免費(fèi)下載

8x8x8光立方的C語(yǔ)言程序和工程文件免費(fèi)下載

AS702x_EvalSW_v8-3-6-1.zip

評(píng)論