串口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,
用dma的 DMA_CHxMAD寄存器,运行值 - 设的初值,就是收到的字节数了。
页:
[1]