STM32之流水灯

开发板型号

笔者这次所用的开发板是在中国移动物联网平台-onenet所申请的,说白了就是中国移动免费送的开发板,相比于其它的申请平台,onenet最大的优势就是不限量,有多少申请申请就送多少开发板,前提是必须要阐述理由,言之有理的都能申请成功,需要申请开发板的私信笔者“开发板”,笔者会回复官方申请地址。

STM32之流水灯

除了麒麟开发板之外,官方还送了LCD1602显示屏、直流5V电源、ST-LINK下载器,还有一些接插件和线。

STM32之流水灯

流水灯接线图

开发板还附带了设计的原理图,接下来我们来看一下关于麒麟开发板和流水灯有关的电路原理图。我们实验用了4个LED灯,4个LED灯不同色,我们只需要知道他们和单片机哪个引脚对应即可,用到的引脚分别为PA15、PA12、PC7、PC8.

STM32之流水灯

四个LED灯以共阳极的方式和3.3V电源连接,当单片机给LED高电平时,由于没有压差(STM32单片机输出3.3V高电平),没有电流流过,此时LED灯是不亮的;当STM32输出低电平时,由于VCC3.3和单片机之间存在压差,此时LED上会有电流产生,此时LED灯会被点亮。

STM32之流水灯

主函数

int main(void)

{

  • Hardware_Init();

//硬件初始化

while(1)

{

  • Led4_Set(LED_ON);DelayXms(500);Led4_Set(LED_OFF);

//点亮LED4,并延时500ms,然后熄灭LED4

  • Led5_Set(LED_ON);DelayXms(500);Led5_Set(LED_OFF);

//点亮LED5,并延时500ms,然后熄灭LED5

  • Led6_Set(LED_ON);DelayXms(500);Led6_Set(LED_OFF);

//点亮LED6,并延时500ms,然后熄灭LED6

  • Led7_Set(LED_ON);DelayXms(500);Led7_Set(LED_OFF);

//点亮LED7,并延时500ms,然后熄灭LED7

}

}

STM32之流水灯

上面的代码为流水灯的主函数,还有许多配置没有列举出来,由于就算是10篇文章也不必定能把底层的函数讲清楚,所以笔者只保留主函数,关于LED灯闪烁的思想,主函数里面完全能体现出来,如果需要LED流水灯源代码的,可以私信“LED源代码”。

实验现象

00:00

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
红尘呀的头像 - 鹿快
评论 共20条

请登录后发表评论