问题百思不得其解的奇怪问题(串口通讯)

使用串口接收GPS数据是遇到以下几个奇怪的问题,恳请各高手解答谢谢
1:GPS接收到字符‘1’时,字符‘1’变成退格键如:发送34561,则接收到的数据位345
2:接收到逗号‘,’时,逗号变成了换行,如发送$ABC,123,456CD,则接收到是
$ABC
123
456

而不是整个字符串。
3:发送一个完整的字符串$ABC,123,456CD,接收到可能是
$ABC,123,45
6
C
D
三个字符串,规律没有找到

上述问题通过设置c_cc忽略文件结束、行结束等特殊字符改问题就解决了。想问一下这是怎么回事,特殊字符有时怎么回事呢,可通过命令修改吗?谢谢。

串口不是在8位模式(CS8)下?