STM32F407 printf函数打印输出数据到串口调试助手出问题

2019-03-23 17:49发布

如题,楼主是STM32F407的板子,用DMA接收数据,DMA接收的数据存放在缓存数组中,然后用printf打印输出缓存数组存放的数据,程序刚加载运行的时候正常,DMA接收到什么数据,printf就打印输出什么数据在串口调试助手显示。但是程序运行一段时间后,就没有数据输出显示了,开始我还以为是因为DMA没有接收到新的数据,所以没有显示。
但是单步debug之后,发现DMA一直有接收到的新数据,因为存放数据的缓存数组里的数据在变化,但是printf不工作了,就是串口调试助手不显示输出了,想请教一下大神,这个是怎么回事,怎么解决,楼主刚做STM32开发没多久,小白一个,希望大神们给一些指点
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
散飞雪
1楼-- · 2019-03-24 22:03
sysjtlwx 发表于 2017-2-10 09:28
是使用MDK编程的吗 ?不知道是不是设置里没有打开微库导致的printf不好用的问题,可以进MDK魔术棒Target里 ...

刚又调试了一下,把DMA接收数据的程序语句注释掉就好使了,想知道这是为什么怎么能够解决
chunyang
2楼-- · 2019-03-25 03:41
 精彩回答 2  元偷偷看……
chunyang
3楼-- · 2019-03-25 09:23
散飞雪 发表于 2017-2-10 10:42
板子是自己焊接的板子,刚刚又调试了一下,在while死循环中只执行 printf(“hello”)一开始串口调试助 ...

不会,这是纯粹的软件问题。
chunyang
4楼-- · 2019-03-25 12:23
散飞雪 发表于 2017-2-10 11:19
刚又调试了一下,把DMA接收数据的程序语句注释掉就好使了,想知道这是为什么怎么能够解决

仔细分析程序流程,弄明白每条指令的意义。
散飞雪
5楼-- · 2019-03-25 18:05
 精彩回答 2  元偷偷看……

一周热门 更多>