|
我用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 |
FLASH擦除轮询等待时CPU真的会轮询吗
串口DMA收发出现ORE错误
STM32F3系列SDADC外部触发 DMA运输的bug
NUCLEO G474RE无法运行程序
电子方案大会深圳站-ST展台
HAL_TIM_OC_SetConfigChannel 因 override_state 参数触发断言报错
在 STM32Cube 中配置正交编码器模式
NUCLEO-G474RE这个开发板的例程在哪儿下载啊,不知道如和用他的usb和pc串口通信
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
stm32H723 tim23和tim24 中间对齐模式无效
微信公众号
手机版