关于串口还没有摸到的坑希望大佬帮助解答.

2019-07-20 07:39发布

我现在的实验目标是这样的,我采用了两个 板子通过串口进行通讯,HOST端使用STM407,Target端使用飞思卡尔的一个K系列芯片,我通过串口3向target端发送一个数据(此数据是一个命令),target收到后会给我一帧数据,我现在在串口中断中把接到的数据存到了一个全局的buffer里面,当接到了一帧数据完成后把标志位置位了.在main函数里面检测标志位置位后,把中断接收存到buffer里面的数据通过串口打印出来想检测一下,但是发现数据不对.

下面我把我串口中断程序贴出来.然后请大家帮我分析一下  感激不尽了.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
刘书源
1楼-- · 2019-07-21 03:16
 精彩回答 2  元偷偷看……
刘书源
2楼-- · 2019-07-21 05:04
良性循环 发表于 2018-6-20 18:28
楼主在主程序中,检测到标志位置1后,不要立马把标志位置0,等主程序工作完成了,再把标志位置0,不知道有 ...

感谢您的回答,但是我实验了一下,我把标志位清零的动作放在了USART_RX_COOUT = 0之后做.可是结果还是不对.我单步调试经验比较少.操作可能有问题.好难分析啊...
刘书源
3楼-- · 2019-07-21 06:42
HXYDJ 发表于 2018-6-20 17:15
单步调试,看看数组中的数据是不是变了?

您好,我想继续请教您一下,我单步调试,发现了在中断中数据被正确的存储在buf中,但是在主函数中buf的数据已经被改变了,我没有其他的地方有对这个数组的操作,您有这个方面的经验,是因为什么原因导致的嘛?
HXYDJ
4楼-- · 2019-07-21 09:44
 精彩回答 2  元偷偷看……
良性循环
5楼-- · 2019-07-21 13:44
 精彩回答 2  元偷偷看……

一周热门 更多>