如题,楼主是STM32F407的板子,用DMA接收数据,DMA接收的数据存放在缓存数组中,然后用printf打印输出缓存数组存放的数据,程序刚加载运行的时候正常,DMA接收到什么数据,printf就打印输出什么数据在串口调试助手显示。但是程序运行一段时间后,就没有数据输出显示了,开始我还以为是因为DMA没有接收到新的数据,所以没有显示。
但是单步debug之后,发现DMA一直有接收到的新数据,因为存放数据的缓存数组里的数据在变化,但是printf不工作了,就是串口调试助手不显示输出了,想请教一下大神,这个是怎么回事,怎么解决,楼主刚做STM32开发没多久,小白一个,希望大神们给一些指点
此帖出自
小平头技术问答
刚又调试了一下,把DMA接收数据的程序语句注释掉就好使了,想知道这是为什么怎么能够解决
不会,这是纯粹的软件问题。
仔细分析程序流程,弄明白每条指令的意义。
一周热门 更多>