- PWM 脉宽调制器:
方波:占空比:有效电平占整个周期的比值。周期和频率:
使用PWM,输出50HZ 波形
蜂鸣器 GPD0_0 PWM0
F = 100Mhz
1、 配置PWM0
TCFG0:[7:0] = 预分频寄存器 0-255 0xff
TCFG1:[3:0] = 固定分频 1 2 4 8 16 0x4
TCON:
[4] = 0 不使能死区
[3] = 1 使能自动重载
[2] = 1 打开输出使能
[1] = 1 手动更新 tcmpb tcntb
[0] = 启停开关 1 启动 0 关闭
TCNTB0 重载寄存器 [31:0] 重载值 24414
TCMPB0 比较寄存器 [31:0] 比较值 500
TCNTO0 窗口寄存器 (只读)用于读取减法计数器中的值
TINT_CSTAT 中断相关寄存器
50hz = 100M/(y+1)/固定分频/C
256 16 24414
p = 1M/c
c = 1M/p
z = b/c
b = z * c
2、GPIO配置: GPD0_0
GPD0CON [3:0] = 0x2 使能管脚复用为pwm输出功能
每次修改PWM参数的时候,先STOP_PWM,修改了之后再start_pwm。
实现
1、wdt 中断法 实现 sleep msleep
2、pwm 驱动
3、蜂鸣器唱歌