
1.资源扩展板介绍; e7 F4 p( _! ?' Q3 m 1.1硬件介绍 ![]() 1.2资源扩展板可开发项目2 [' R! o& E! ~3 M9 [ 9 c9 n& J5 J8 [) p ![]() W0 j9 \) u0 i1 f* R 2.扩展板震动马达控制 2.1实验原理 打开扩展板原理图对照扩展板可以看到扩展板有1个震动马达M1 Motor,如下图: 5 ?; s* K7 S: Y: Q8 `4 z ![]() 由上图可见通过TIM16_CH1电平改变控制电路的通断从而驱动震动马达。& `4 N5 m, Q7 p; w 3 ]5 Y5 W5 j: B/ o! f0 `; A, M ![]() 扩展板与底板接口对照图. M H" ^$ Z& s, G5 M 3 Y- t/ O+ ~0 ?* S8 V' w 查看原理图可知TIM16_CH1对应PF6,查看芯片手册可知PF6可以作为PWM TIMER16的通道1使用,本文实现如何通过PWM驱动马达: ![]() - G4 ?0 n) |4 d" S: n% G1 [0 q- q 2.2实验目的 了解震动马达工作原理 学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制震动马达 2.3实验环境 FS-MP1A开发平台4 p8 D: Q. R) _2 v) w# u ST-Link仿真器 2 B, f' j8 I! o0 o1 v7 o/ V# @ STM32CubeIDE开发软件/ I3 j/ c/ m( o7 B' a 3 j" B# L0 O8 ]1 D" m+ Y; c- X PC机 XP、Window7/10 (32/64bit) . I1 y7 W* z) d% Z7 ]4 N, D* D3 u # s, z+ n$ ^5 ]9 C7 j6 E% d1 W 2.4实验步骤 MX配置# {7 p; F9 o1 K 根据原理图,配置PF6引脚设置为TIM16_CH1。切换到TIM16标签,勾选为“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。 ![]() 4 q" O, C( x" q( c p, G* G9 ~8 G ![]() + d" w& M; I5 r& ^* n7 H 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\12_EX_PWM_MOTOR】: _/ Y6 T- h8 t; f5 l. d 代码设计 找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。- R: }' C& V" s; O- e/ y 将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。 8 Q# r7 J- V: D' k: U ![]() % S5 v2 e7 A$ O3 _1 |# H+ _ 最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,从而可以实现振动马达不同振动频率。9 h0 v- E0 j/ Z5 C6 { ————————————————# g T4 e* h/ i0 b3 e 版权声明:华清远见IT开放实验室 : z. c8 ^! C8 T8 @- u1 O* |# g 8 @3 o' l/ T1 b# t |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得