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; //插入死区 不知道大家有没有遇到过类似的问题。 |
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
STM8S标准库TIM1编码器功能不计数,请大师帮我看看