看到一个帖子感觉写的非常不错,很详细,收藏起来。http://www.ibm.com/developerworks/cn/linux/l-serials/index.html
看到网友木易的回帖,感觉很好的总结,把他的话贴在这里:
串口相关的程序还是比较好调试的,记住两点:
1、数据流程如下:从应用程序=>驱动程序=>芯片=>串口线=>芯片=>驱动程序=>应用程序
2、数据最后都被变成方波在串口线上传播。
-------------------------------
所以调试程序时,一般过程是:
1、先看串口线或者DB针脚上有没有数据,这个可以解决掉大多数的硬件问题(包括连接问题和线的问题)而且故障定位速度很快。
2、串口线上有数据的情况下,一般硬件没问题。这时有两种情况:
2.1、如果串口驱动没有改写过的话,那么应用程序一般都能收到一些数据,只不过可能是乱码。如果是乱码的话,则基本是应用程序的串口配置部分有问题。
2.2、如果串口驱动改写过的话,如果应用程序不能收到数据则可能是驱动程序中串口初始化没有做好。如果应用程序能收到数据但是乱码的话,则可能是驱动程序中串口初始化有问题也可能是应用程序的串口配置部分有问题。
3、至于有些串口设备没有反应的问题,也是基于这个思路来分析。在排除了硬件问题后,最大的可能就是服务程序没有运行或者反馈。
感谢木易