|
STM8S的TIM1的前三个通道可以输出互补的PWM,在测试中发现了一个奇怪的问题。 当PWM频率设置的比较小时(1K或者2K,我就测了几个频率)互补输出正常。当我改变分频系数(TIM1_PSCRH和TIM1_PSCRL两个寄存器)或者修改ARR寄存器来提高到一定频率时(比如提高到4K),CHxN直接恒输出高,CHx输出占空比50%的PWM(即使CCRx/ARR*100%不等于50%)。 配置代码: CLK_PCKENR1 |= 0x80;//开启定时器1外设时钟 TIM1_EGR |= 0x01; //重新初始化TIM1 TIM1_CR1 = 0x00; //B7(0)可以直接写入 B65(00)边缘对齐模式B4(0)向上计数B3(0)计数器不停止发生更新事件 TIM1_RCR = 0x00; TIM1_PSCRH =0; //设定预分频为,16分频 1M TIM1_PSCRL =0x0f; //PWM的时钟 影响周期 TIM1_CCER1 = 0x55; //PWM1/PWM1N互补输出,PWM2/PWM2N互补输出,高电平有效 TIM1_CCER2 = 0x11; //PWM3/PWM4输出,高电平有效 TIM1_CCMR1 = 0x60; //PWM模式1,CC1配置输出 TIM1_CCMR2 = 0x60; //PWM模式1,CC2配置输出 TIM1_CCMR3 = 0x60; //PWM模式1,CC3配置输出 TIM1_CCMR4 = 0x60; //PWM模式1,CC4配置输出 TIM1_ARRH = 1000/256; TIM1_ARRL = 1000%256; //PWM的周期 TIM1_CCR1H = 800/256; TIM1_CCR1L = 800%256; // 占空比值 TIM1_CCR2H = 800/256; TIM1_CCR2L = 800%256; // 占空比值 TIM1_CCR3H = 800/256; TIM1_CCR3L = 800%256; // 占空比值 TIM1_CCR4H = 800/256; TIM1_CCR4L = 800%256; // 占空比值 TIM1_CR1 |= 0x01; //使能TIM1计数器 TIM1_BKR |= 0x80; //主输出使能 TIM1_DTR = 0xff; //插入死区 不知道大家有没有遇到过类似的问题。 |
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
微信公众号
手机版