STMCU小助手
发布时间:2022-4-7 16:27
|
实验内容:使用通用定时器输出PWM,实现呼吸灯效果,呼吸周期3S。 一、原理图
二、 CubeMX配置 Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F103VETx。
Step2.选择时钟源,并配置时钟树。选择Crystal/Ceramic Resonator,并配置系统时钟为72M。
Step3.配置SYS,我们这里选择的是Serial Wire。(正常情况配置不配置不影响,debug可以使用。但是你不可以把这两个引脚用于其他复用功能,如果用于其他复用功能,debug就不起作用了。)
Step4.配置定时器,时钟配置计数器时钟经过(719+1)分频配置为100khz,即计一个数的时间为10us,一共计数(299+1)次,即进入一次中断的时间为3ms。(注:图中计数周期应改为299)
到这里关于相关参数配置基本已经完成,只需要根据之前文章《STM32Cube HAL:GPIO输入/输出(一)》Step4-Step8,设置相关工程参数和生成代码。 三、添加功能代码 我们此次采用的查表法进行占空比的修改,我这边是用excel生成了一个呼吸曲线。(采样点为100个)
在main.c主函数外定义相关变量:
在main.c,主函数内(while(1)循环外)开启定时器,使能更新中断和PWM输出。
在main.c文件中,写入回调函数:
结合时钟配置以及回调函数我们可以知道,我们每进入一次中断的时间为3ms,而每进入十次中断就会变换一次占空比,即每变换一次占空比耗时30ms。我们一共需要变换100次占空比,即一次呼吸灯耗时3s。 |
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
【经验分享】STM32CubeIDE汉化
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
【下载有礼】STM32 Finder华为应用商店正式上线!移动选型工具助力开发效率升级
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
微信公众号
手机版