尝试了一下串口收发,接收用中断方式,发送用查询方式。由于从上位机会接收到一串数据,所以需要识别到底接收第几个数据,尝试用以下方法来试验,结果很奇怪。不理解。
方法1:1)在接收中断中置全局变量flag,收到一个数据,falg=1;2)然后在主循环while(1)中,当flag=1 ,发送接收到的数据,然后 flag=0。结果发现只能发送接收到的第1个数据。
这样如何区分上位机发动的第几个数据呢?
方法2: 在接收中断中,若接收到数据,则就发送接收的数据,结果可以将收到的数据立即发送。
为什么呢? |