STMCU小助手
发布时间:2022-10-1 21:09
|
1.资源扩展板介绍 1.1硬件介绍/ K4 `9 m/ O0 Q; H0 D : N: K- B& }. d9 q/ S! q, m% V
2 `# _5 c0 }( O3 ~* j 1.2资源扩展板可开发项目
2.扩展板震动马达控制2 d; d7 W7 m+ _- c0 J 2.1实验原理8 f" @+ i" H0 Y0 h& m5 @ 打开扩展板原理图对照扩展板可以看到扩展板有1个震动马达M1 Motor,如下图:
3 f! d! G1 Y$ p) h. ~ 由上图可见通过TIM16_CH1电平改变控制电路的通断从而驱动震动马达。6 h2 D1 F; T& j: b' w
扩展板与底板接口对照图 查看原理图可知TIM16_CH1对应PF6,查看芯片手册可知PF6可以作为PWM TIMER16的通道1使用,本文实现如何通过PWM驱动马达:0 x8 z$ R) }) c6 f* N
& o$ a x9 x2 I# h: e , K, L& `' L3 b$ f& G0 h) K1 } 2.2实验目的 了解震动马达工作原理 学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制震动马达3 D7 M$ J* H; K, o7 g : w, P. u. ~. W5 i" t 7 r4 {$ l3 L8 c# W+ I5 k; v 2.3实验环境 FS-MP1A开发平台 ST-Link仿真器 STM32CubeIDE开发软件' d: n0 H; v# m0 J PC机 XP、Window7/10 (32/64bit); ]2 k0 a1 a) {( r$ g" f: {! X . g E& ]& {' _8 ?3 t - R# A0 V# i% W- C. u, k3 I 2.4实验步骤' B4 x' d3 D5 v MX配置; l8 s; b9 V; x3 K0 J) z " t* ^& O2 l" C [1 f" s: E 根据原理图,配置PF6引脚设置为TIM16_CH1。切换到TIM16标签,勾选为“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。0 ~' x* q; d, t( J$ k' X 9 ~6 [, u* g0 P, U: D & _: T) V0 V: Y. B& ]( ~, }
2 M8 S% A4 d+ w ^
9 U+ y9 C# M4 {% [3 D 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\12_EX_PWM_MOTOR】$ u7 K+ o( f; D" k7 y) @8 o" M 代码设计 找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。 将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。
# q$ X. z/ v6 o3 G. P8 N 最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,从而可以实现振动马达不同振动频率。/ R1 g5 M* W2 F @6 A! t* U, T5 O ———————————————— 版权声明:华清远见IT开放实验室! s+ V) ~0 r8 \1 K4 w2 ? . t' G, \0 v/ t6 w/ h O3 ~" K |
STM32MP157双A核Linux + 自研RTOS双系统镜像免费下载
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
兔哥心中的ST中文论坛
我心中的ST中文论坛
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
深度拆解 STM32MP1 Boot 链路
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32--STM32 微控制器详解
微信公众号
手机版