NBK_RD8x3x 闪灯程序

电子说

1.2w人已加入

描述

R8d固件库——GPIO固件库函数说明-电子发烧友网 (elecfans.com)

上篇学习了GPIO的固件库,下面介绍如何做一个LED闪灯

LED的IO选择与定义

开发板上的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)

初始化GPIO的函数如下:

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);
			}
    }
}

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分