工作终于有进展了

来源:互联网 发布:电脑软件安装网站 编辑:程序博客网 时间:2024/05/01 06:23

//*******************************8/25日**********************************************
串口程序卡住了,在PC机可以正确读写串口的程序交叉编译并放到板子上后就不能读到数据,具体情况是写函数write()能返回预定字节数,而读函数read()返回0(而如果函数出现错误时会返回-1),可以确定一下几点:

       1.接读卡器时,发出的指令正确(不正确的话会无限时阻塞),
       2.接线正确,串口ttyS1正确,基本读写函数调用正确,
       3.程序运行状态正常,只是未读到数据,
       4.可以基本排除串口设备的问题,因为接读卡器和接GPS都读不到返回值,而在PC机上的两个程序分别能读到两个设备的返回值,
       5.可以排除我们板子的问题,因为使用另外那个小组的板子测试时,结果一样,
       6.可以基本排除延迟的问题,大大小小的延迟都使用过了,而且延迟一般不会导致一次成功都没有,
       现在怀疑是板子的串口的某些设置有问题,与PC机的串口有一些地方不同,但不知道怎么确定.
//********************************8/26************************************************
在大家的努力下,终于找到了板子上串口的问题所在,板子上linux的控制台被默认定向到串口上去了,怪不得读写程序老被阻塞,原来是在跟老大冲突了(抢串口),怕怕.....然后事情就好办了,改改etc/inittab释放了串口,程序就运行正常了,读卡器和GPS都好了(GPS还差确定一个合适的延迟以及信息分解).