1.实验原理
打开扩展板原理图对照扩展板可以看到扩展板有
1
个振动马达
M1
,如下图:

由上图可见可通过 TIM16_CH1 电平改变控制电路的通断从而驱动线性马达。
查看原理图可知
TIM16_CH1
对应
PF6
,查看芯片手册可知
PF6
可以作为
PWM TIMER16 的通道 1
使用,本文实现如何通过
PWM
驱动振动马达:

2.实验步骤
1) 导入交叉编译工具链
linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environm ent-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
2) 内核配置
内核中为振动马达提供了标准的驱动,只要在内核中配置对应选项即可,驱动路径为:
drivers/input/misc/pwm- vibra.c
执行
make menuconfig
配置内核对应选项
linux@ubuntu:$ make menuconfigDevice Drivers ---> <