因为STM32F103的高级定时器重复计数寄存器(RCR)的有效位只有8位,而我需要输出超过256个PWM脉冲,且保证每个脉冲之间必须连续。我目前设想的实现方案为:假设我需要输出260个脉冲 1、关闭单脉冲模式,将RCR寄存器写入最高值255,软件引发一次更新事件,使RCR的值生效,然后清除标志位并打开更新中断。 2、将RCR的值设置为4,RCR的值只有在下一次更新事件后生效。使能计数器,计数器在输出256个脉冲后更新并进入更新中断 3、在2的更新后RCR的新值(4)生效,在更新中断中开启单脉冲模式,使计数器在输出4个脉冲后停止计数。 但现在的问题是,通过逻辑分析仪分析,最终输出的脉冲数量仍为256,通过debug查看,程序运行后RCR计数器已被设置为4,单脉冲模式被置位,计数器失能。也就是说,最后4个脉冲还没开始输出计数器就已经失能了。因此猜想是不是因为在2的更新中断中,使能单脉冲的同时会使计数器失能,导致最后4个脉冲无法输出? |
No source available for "uwTickPrio0 at 0x20000004
stm32输入捕获模式下,TIM_ICFilter的值选择不解,盼求解
我想找STM32网口的设计方案
使用STM32F103控制两步进电机同时进行不同的运动(软件指令驱动),与控制一个电机的不同之处在于哪里?
STM32F103在用stm32cubeide编程,用stlink烧录调试的时候
STM32 HID和CDC组合设备无法枚举成功
Failed to execute MI command
确认STM32F103C8T6_UFQPN48
安装MDK-ARM软件时最后出现PackUnzip.exe没有注册类的问题,导致软件无法安装
stm32f103rbt6使用stm32cubemx配置pwm无输出