stm32mp157|STM32MP157资源扩展板驱动移植篇7(扩展板风扇控制)
写在前面:
本文章为《STM32MP157资源扩展板驱动移植篇》系列中的一篇,笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板)。资源扩展板是FS-MP1A开发板的扩展模块,主要包含了10余种助主流传感器、执行器件、总线控制器件,非常方便项目扩展用。可拓展开发智慧家庭、智能医疗、智能安防、工业控制、图像识别、环境检测等方向的10个左右综合项目,华清远见开发板也将配套提供所有项目的说明文档、实验源码、应用程序等资料。
针对FS-MP1A开发板,除了资源扩展板驱动移植篇外,还包括其他多系列教程,包括Cortex-A7开发篇、Cortex-M4开发篇、FreeRTOS篇、Linux应用开发篇、Linux系统移植篇、Linux驱动开发篇、硬件设计篇、人工智能机器视觉篇、Qt应用编程篇、Qt综合项目实战篇等。欢迎关注,更多stm32mp157开发教程及视频,可加技术交流Q群459754978,感谢关注。
FS-MP1A开发板详情介绍:https://item.taobao.com/item.htm?id=622457259672
1.资源扩展板介绍 1.1硬件介绍
文章图片
1.2资源扩展板可开发项目
文章图片
2.扩展板风扇控制
2.1实验原理 打开扩展板原理图对照扩展板可以看到扩展板有1个风扇FAN1,如下图:
文章图片
由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。
文章图片
扩展板与底板接口对照图
查看原理图可知TIM1_CH1对应PE9,查看芯片手册可知PE9可以作为PWM TIMER1的通道1使用,本文实现如何通过PWM驱动风扇:
原理图网络编号 | 对应管脚 | 管脚功能 | 管脚功能码 |
TIM1_CH1 | PE9 | TIM1_CH1 | AF2 |
学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制风扇
2.3实验环境 FS-MP1A开发平台
ST-Link仿真器
STM32CubeIDE开发软件
PC机 XP、Window7/10 (32/64bit)
2.4实验步骤 MX配置
根据原理图,配置PE9引脚设置为TIM1_CH1。切换到TIM1标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。
文章图片
文章图片
上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\11_EX_PWM_FAN】
代码设计
找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。
将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。
uint16_t pulse = 0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == TIM1)
{
pulse += 1000;
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,pulse);
if(pulse >= 10000)
pulse = 0;
}
}
void TIM_PWM_START(void)
{
if(HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)
{
Error_Handler();
}
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
}
在主函数中调用TIM_PWM_STERT(),改变pulse的值就可以改变PWM的占空比,可以控制实现风扇的转动。
硬件平台:华清远见FS-MP1A开发板(STM32MP157)
部分开发教程下载:加QQ群459754978,群文件里有。
部分视频课程收看:华清远见研发中心的个人空间_哔哩哔哩_Bilibili
淘宝购买链接:https://item.taobao.com/item.htm?id=622457259672
【stm32mp157|STM32MP157资源扩展板驱动移植篇7(扩展板风扇控制)】手机淘宝分享码:复制本行文字打开手淘?T4FPXn3YYJ2?
推荐阅读
- 富裕的好处是对资源的优先占有
- 预见人力资源
- 教育论
- 提取ipa|提取ipa 包内资源
- 从华为胡玲事件看人力资源与职场
- OC代码规范
- 斗罗大陆1(第39集)百度云下载【1080熟肉共享】完整版资源
- 用|用 Satis 处理私有资源包(使用 satis 搭建 Composer 私有库)
- #教育增长圈#-教育操盘手2期-1组Reach-day4-项目资源系统诊断
- 写给小朋友书(三)时间是最宝贵的资源,它不可重复,永不停止!