|
单片机型号:G431 我的TIM4配置为EncoderT12模式,接外部编码器,然后配置捕获通道1并生成dma信号TIM_DMA_CC1。即通道1接ab编码器的a相发生电平变化时,会产生一个DMA信号(DMA_REQUEST_TIM4_CH1),并且DMA设置为circle模式,每次自动往一个数组中存放数据。 现在的问题是:随着编码器旋转,DMA信号正常产生了,但是搬运数据总是只有最后一个字节。比如data=0x1234,最终到DMA存放的数据只有0x34。我的数据传输类型都是DMA_PDATAALIGN_WORD,不是单个字节,所以出现这个问题很奇怪。以下是我程序配置的相关代码: TIM4程序初始化
DMA程序初始化 dma配置代码
所以到底哪里出了问题,同样的代码,在H723芯片上运行正常。 |
无源晶振开关电路设计
如何将电机转速度控制在0.1RPM以下?我尝试过将SPEED_UNIT改为480,电机转速度可以控制在0.125RPM,但最转到250RPM时,编码器计数好像溢出了
STSPIN32G4内部驱动电压输出问题
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
定时器触发SPI
为什么STM32H7的DMA第一次启动延时较长?
stm32G474RBT3的flash擦除寿命是多少?
stm32g474RE 输出4相波形,如何精准输出ADC触发的问题。
STM32G491 flash擦除的问题,请教大神
STM32G4 FLASH擦除不了,寻求各位大佬、官方的帮助
微信公众号
手机版
gRotorSpeed.QepTimeDma1也是uint32_t类型的变量。