STM32L4XX输出50Hz方波
编者按:大四毕业狗一只,在杭州某达物联网研发实习,正惆怅学海无涯时,经理吩咐我一个任务:找块板子,用IO口输出一个100Hz的方波,要求高、低电平都小于50ms。
好了,如果您看到标题还能继续看下去,那我必须得先表达我对您敬意。先分析功能需求: f=100Hz,T=1/f=10ms,来个简单的方波,占空比50%,高、低电平各5ms,和上限50ms差了10倍,有点奇怪,再次和经理沟通需求,改为高、低电平为10ms,也就是周期T=20ms,f=50Hz。准备好硬件:含STM32系列的PCB板一块、JLINK或其他下载线、示波器或者LED;软件:STM32CubeMX、keil uvision 5或其他编程软件。
翻来覆去就只有一块MCU为STM32L471RE的GPRS转接板,匆匆扫一眼,OK,没问题,可用它做一个50Hz的方波输出,确实有点屈才了,就像您现在正在看我这篇文章一样。
一、配置STM32CubeMX工程外设初始化。
二、编译程序
三、下载。无法下载的朋友请自行百度,有太多教程了。
四、查看波形
五、反思与总结
这次实现结合硬件与软件一步一步操作,从0实现输出50Hz的波形,虽然所要求的程序较简单,步骤也相对简单,但却是完成一个项目所必须具体的步骤缩影,必须熟练掌握。当然,其中我也出现了问题,第一次按照这个步骤并没有输出方波,查找原因后,是因为PCB板没有焊接HSE(高速外部晶振),但在工程配置中,我却使用了HSE作为MCU的时钟源,所以建议选择12*用HIS,即高速内部时钟,重新生成配置文件,并编译下载后,即可完成。
一步一个脚印,并养成检查与反思的好习惯,就可以减少甚至避免类似的错误再次发生。