串口缓存满了以后,传入的数据是会更新还是丢失?
本帖最后由 云水尧 于 2015-2-10 14:28 编辑我用MEGA通过Serial3接了一个GPS模块,GPS模块总是在发送数据,可我不是每时每刻都在读取GPS信息。
那么问题好像就出现了:
1、Serial3会不断地接受数据直到串口接收buffer填满,如果我仍然没有读出Serial3的值的话,那么GPS模块后来发送的数据到哪去了?是从Serial3串口接收buffer的开头开始覆盖掉原来的数据呢?还是这些数据就丢失不见了?
2、GPS模块在不断发送数据,但是Serial3串口接收buffer满了以后,如果不再接受GPS模块传进来的数据的话,GPS模块要发送的数据就会存在自己的发送buffer中,如果自己发送buffer也填满了话,再获取到的GPS信息是会替换掉发送buffer里面的数据呢?还是直接丢失了呢?
谢谢!!!
e ,GPS模块我还没有玩过。等我以后玩的时候再想你请教。 arduino的串口接收采用环形缓冲器,大小为64字节,当环形缓冲区爆满后,将直接丢弃数据,不再接收。
可看下arduino-1.0.5-r2\hardware\arduino\cores\arduino\HardwareSerial.cpp的源码。 回头我也来看看 Youyou 发表于 2015-2-14 20:01
arduino的串口接收采用环形缓冲器,大小为64字节,当环形缓冲区爆满后,将直接丢弃数据,不再接收。
可看下 ...
新年快乐!谢谢你,我去好好研究研究看!
页:
[1]