电子说
R8d固件库——GPIO固件库函数说明-电子发烧友网 (elecfans.com)
上篇学习了GPIO的固件库,下面介绍如何做一个LED闪灯
开发板上的LED为P46,所以我们先定义LED如下:
#define LED_PORT GPIO4
#define LED_PIN GPIO_PIN_6
#define LED_MOMDE GPIO_MODE_OUT_PP
然后为了代码的可读性,我们再定义LED开与灭:
#define LED_ON() GPIO_WriteHigh(LED_PORT, LED_PIN)
#define LED_OFF() GPIO_WriteLow(LED_PORT, LED_PIN)
void LED_Init(void)
{
GPIO_Init(LED_PORT,LED_PIN, LED_MOMDE);
}
为了实现闪灯程序,我们必须要实现一个延时函数,这里用定时器1实现了一个500ms标志位
中断处理函数如下:
void Timer0Interrupt() interrupt 1
{
TIM0_Mode1SetReloadCounter(38869);
{
T0Flag50msCount++;
if(T0Flag50msCount >= 50)
{
T0Flag50msCount = 0;
T0Flag50ms = 1;
}
}
}
到这里我们在main程序里书写代码如下,就可以实现了闪灯:
void main(void)
{
IcResourceInit();
LED_Init();
while(1)
{
if(T0Flag50ms)
{
T0Flag50ms=0;
GPIO_TogglePin(LED_PORT,LED_PIN);
}
}
}
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !