想做DMA+空闲中断实现串口的不定长收发
我在USART1的中断服务函数里写有关空闲中断的处理
情况一:
串口打印的结果:每发一次数据,打回的就是0
但是我在printf行打上断点进行调试,却能显示正确的长度,但是仅仅是收发一次就卡死了
情况二:
串口打印的结果:没有任何显示
但是我在Transmit DMA行打上断点,却能显示正确的字符串,但是仅仅是收发一次就卡死了
情况三:
串口打印的结果:能正常收发
情况四:
串口打印的结果:能正常收发
情况五:
串口打印的结果:能正常收发
我想知道:
1.为什么打断点会影响结果
2.我不加上Receive DMA行的话我认为是只能收发一次,打断点是这个效果,但是正常运行就一直显示0,发一次字符串显示一次0。Receive DMA行对第一次输出的结果有影响嘛,这一行不是在最下面嘛,按理讲不会影响到第一次的收发吧。