【分享学习篇】OneNET麒麟座开发之 跑马灯、PWM呼吸灯实 | |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 432 回帖数 0 |
mnbvcxz 等级 ★★★ 楼主 发表于 2017/3/10 6:46:44 编 辑 |
||
今天,让我用花式的方法来实现这几盏LED。 OneNet板子的核心是stm32f103,这块72MHz的单片机,还是cortex-M内核的,所以速度很快的,我们可以玩个PWM控灯,并且肉眼看不出闪烁。 灯慢慢变亮然后再变暗的效果称为“呼吸”,这个效果在一些游戏鼠标上常见。下面让我们一起来“高仿”一下这个“呼吸效果”。 当然,在玩PWM以前,我们要先构建一个高速的延时函数。 毫秒级的太弱了,我们来做个微秒级别的延时吧。 函数名字我也想好了,就叫microDelay1吧,定时变量用个32位的uint32_t。这样的话,即使延时个1小时,应该也够用了。 这个微秒延时函数是如下这样的 然后,为了定义闪烁次数和led灯的数量,我们需要再建两个变量。 int blinkii=0,ledii=0; 4盏Led灯所在的GPIO引脚分别是6、7、8、9,我们可以定义一个数组来存这4个引脚 uint16_t leds[4]={0x0040,0x0080,0x0100,0x0200}; |
1 |
您输入的密码有误,请重新输入