从0开始实现STM32L4XX输出50Hz方波

Posted zuorenfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0开始实现STM32L4XX输出50Hz方波相关的知识,希望对你有一定的参考价值。

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,即高速内部时钟,重新生成配置文件,并编译下载后,即可完成。

           一步一个脚印,并养成检查与反思的好习惯,就可以减少甚至避免类似的错误再次发生。

  

以上是关于从0开始实现STM32L4XX输出50Hz方波的主要内容,如果未能解决你的问题,请参考以下文章

STM32L4RGT6燒写

在 STM32L4 + BlueNRG 上使用 L2CAP

stm32L476 - 擦除闪存

如何减少 STM32L4 HAL 库的 SPI 开销时间

STM32串口接收中断——基于HAL库

译STM32L4x6系列用户手册第四章 - 防火墙(FireWall)