如题,初始化DMA和串口后,DMA对串口数据进行循环接收。
程序用CubeMX生成的,DMA必须用中断,实际使用串口空闲中断对数据进行记录的,DMA中断是空的。
问题,就是程序大约跑了9个小时,然后跑死了,当时用JTAG观察的数据,发现DMA的hdma_uart8_rx.Instance->NDTR这个量已经到达了6031105这个值,实际我设置的只有600.
串口数据基本没问题,而且我确实是对数据进行10ms一处理。
那么这个DMA跑飞究竟因为什么呢?
有什么样的原因会导致DMA的NDTR寄存器溢出呢?
其他函数越界?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果说溢出发生跑飞,会发生什么谁知道呢?
一周热门 更多>