sigerio 发表于 2022-8-26 16:21:59

串口DMA如何计算接收数据的长度

如题,串口DMA通过超时中断接收数据,如何计算出接受数据的长度呢?看到CHxCR寄存器里有个TSIZE位,代码里尝试读了下,貌似这一位的读数和DMA配置有关,并不是接收到的数据长度

DMA_ConfigStruct.transmissionCount = sizeof(sDmaRxTxBuf.dmaReceBuf) - 1;//这里配置的为512-1


cnt = FL_DMA_ReadTransmissionSize(DMA,FL_DMA_CHANNEL_1);
这里cnt读出来是511,printf出来是0,

顾博文 发表于 2022-8-29 08:47:06

用dma的 DMA_CHxMAD寄存器,运行值 - 设的初值,就是收到的字节数了。
页: [1]
查看完整版本: 串口DMA如何计算接收数据的长度