STM32之流水灯实验

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

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

流水灯接线图

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

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

主函数

int main(void){Hardware_Init();//硬件初始化while(1){Led4_Set(LED_ON);DelayXms(500);Led4_Set(LED_OFF);//点亮LED4,并延时500ms,然后熄灭LED4Led5_Set(LED_ON);DelayXms(500);Led5_Set(LED_OFF);//点亮LED5,并延时500ms,然后熄灭LED5Led6_Set(LED_ON);DelayXms(500);Led6_Set(LED_OFF);//点亮LED6,并延时500ms,然后熄灭LED6Led7_Set(LED_ON);DelayXms(500);Led7_Set(LED_OFF);//点亮LED7,并延时500ms,然后熄灭LED7}}

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

http://www.makeru.com.cn/live/1392_233.html?s=69821

你可能感兴趣的:(物联网,STM32实战经验,嵌入式资料,STM32,嵌入式)