对同一设备文件操作,write后,能read出刚write的内容,为什么???
用mini2440在调一个3G模块,需要对模块发AT指令,由于mini2440上没有串口终端,我需要写个发AT指令的测试程序。模块与mini2440通过USB连接,驱动加载后成功生成ttyUSB0设备文件,我的测试程序就是对这个ttyUSB0进行write和read操作,奇怪的是write一个AT指令(如ATI)后,从设备read的内容包括两个部分,先是输出刚write的内容(如ATI),再接着才是AT指令的正常回显信息。我要问,AT指令名称(如ATI)明明是写入的信息,为什么能read出来呢,能read出的应该只有回显信息才对呀???
------解决方案--------------------
做成多线程吧,一个接收,一个发送,这样是最好的。
你读的和你发送的一样,很可能是你ate1打开3g模块的回显来了。你发一个at指令后他会把你发给他的指令回显给你,后面才接ok等等回应。
------解决方案--------------------