1.有源蜂鸣器和无源蜂鸣器的概念
- 有源蜂鸣器高电平就响,无源蜂鸣器需要PWM波才响。
2.PWM脉冲波
- PWM = 定时器 + 定时器中断(重载) + IO输出(翻转)
3.分析原理图
- GPIO-GPD0_0
- XpwmTOUT0定时器0,同上面IO口
4.pwm定时器上的资源
- 5个32位定时器
- 定时器会产生内部中断
- 定时器0,1,2,3可以通过编程实现PWM,定时器4有内部计时而没有输出
- 定时器都有各自对应的分频区
- TCNTBn--,TCNTBn=TCMPBn
5.分频器 图形24-2
XpwmTOUT0 = PRESCALER0 + MUX + TCMPB0 + TCNTB0
6.例子分析
- 开启自动重载
- 设置TCNTBn和TCMPBn寄存器
- 手动设置
- 设置自动翻转,更新TCNTBn和TCMPBn寄存器
- 再次设置TCNTBn和TCMPBn寄存器(双缓冲再次更新)
- 定时器开启
- TCNTBn--,TCNTBn=TCMPBn,翻转
- TCNTn=0,产生中断
- 自动重载