ARM体系下,串口和一GPS模块连接,接收GPS的信息。但是用cat /dev/ttyS3去读取串口收到的信息的时候,发现会丢失数据。并且丢失的数据是连续的8个或者9个字节,并且发生这种情况的时间间隔不固定,但是错误的频率还是比较高的,会影响之后应用程序分析GPS信息。
串口的波特率设定在的是9600,一次会发送的数据大约也只有200字节,按理来说速度也不是很快,而且串口是16550A的,自带有16字节的FIFO,触发传输的门限也设定在8字节。
试过改变串口的工作方式于原始模式,现象依旧。也改过触发的门限,也依然如此。
就想请教各位,丢失数据可能是出于什么原因? 但有点滴,也劳烦各位能给小弟回个帖,这里先谢过了。
正确数据:
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
错误数据:
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$G,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
,1,00*79 //开头字段的数据丢失
$GPGLL,,,,,,V,N*64 |