|
我用STM32G473RC的timer 8做如下的功能 1. Timer 8 upcounting模式,产生一个周期是20us的中断。 2. Timer 8,CH1, CH2, CH3, CH4配置成输出比较模式,生成4个周期是20us的PWM信号。 3. 在timer的update 中断中,使能4个通道DMA传输,就是说在CC1,CC2, CC3, CC4 event产生时,触发DMA,从memory 搬一些数到外设。 结果发现功能不正常,所以我激活了4个DMA 的传输完成中断,在DMA中断函数中输出一个IO管脚,用逻辑分析仪监视,发现TIMER update中断后,立即跟随4个DMA中断(我设置CC1 CC2, CC3, CC4的触发时间是10us,12us, 14us, 16us, 这些时间从timer 8 counter溢出开始计算)。 在初始化时,把CR2中的CCDS 位设置成0就解决了问题。 我的问题是 :CR2中的CCDS 位缺省是0,为何还要手工设置? Bit 3 CCDS: Capture/compare DMA selection 0: CCx DMA request sent when CCx event occurs 1: CCx DMA requests sent when update event occurs |
请问一下STM32F103C8T6的Hardwar NSS Output ENABLE后cs持续拉低是为什么
STM32U575的LPTIM中断问题
STM32G474 HRTIM的single-shot功能,如何使用?
STM32G0B1
TIM11,TIM13失效
无源晶振开关电路设计
为什么DMA搬运数据只搬运最后1个字节的数?
如何将电机转速度控制在0.1RPM以下?我尝试过将SPEED_UNIT改为480,电机转速度可以控制在0.125RPM,但最转到250RPM时,编码器计数好像溢出了
STSPIN32G4内部驱动电压输出问题
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
微信公众号
手机版