Closed fyyxxm closed 1 year ago
如图代码,连续打印,会出现第一个打印丢失,最后一个打印出现两次。
现象如下
把log_i更换成printf,及其他printf都是正常的。
使用log_i 单独打印一个信息也是正常的。
连续打印时,每个打印中间延迟10MS也是正常的。
开不开启异步打印,都是这种情况
已解决: 原因是,这个log_i里面的数据都存在一个buff(数组)里。 而我的串口发送是DMA发送。 因为DMA不占用CPU资源,而在DMA发送上一个LOG数据时,下一个log会吧这个buff重新填入下个打印信息。 因此DMA发送的数据就变成了下一个打印信息了。
修改方法就是,在DMA发送之前,吧这个log的数据,放入一个新的buff里,用这个新的buff使用DMA发送就行了、
如图代码,连续打印,会出现第一个打印丢失,最后一个打印出现两次。
现象如下
把log_i更换成printf,及其他printf都是正常的。
使用log_i 单独打印一个信息也是正常的。
连续打印时,每个打印中间延迟10MS也是正常的。
开不开启异步打印,都是这种情况