1. 之前看群消息,MC3172不支持中断,那MC3172的定时器也不会不产生中断,就觉得很纳闷,定时器能拿来干嘛?
2. 想点个呼吸灯看看高负荷时,模拟实现的pwm和硬件pwm会不会有明显的效果差异,又没找到硬件PWM这块的介绍,就问了下ROTHD,发现原来定时器可以用来做io口波形输出用,因此花了半天时间摸清代码demo代码规律,实现了pwm模块。
测试代码:
实现效果:
目前存在问题:
1. 还没摸清pulse 怎么设置,暂时使用默认的pulse
2. 由于使用的是MC3172.h定义的接口,接口为覆盖实现,导致一个timer下只能同时使用一路pwm,后续可改为不使用MC3172封装接口,解决同一个timer下的多路PWM同时使用问题
具体实现代码见:
https://gitee.com/ShaquilleLiu/mc3172-test/blob/master/USER_CODE/drivers/src/pwm.c
离线
感谢分享,这应该是第一个PWM的demo了
离线