作者windsheep (....)
看板C_Sharp
标题Re: [问题] 几个有关serial port的问题.
时间Wed Jan 20 08:28:37 2010
※ 引述《liaommx (Orz)》之铭言:
: ※ 引述《leicheong (睡魔)》之铭言:
: : SerialPort class有DataReceived这event的.
: 这个event要怎麽用呢?
: 因为data received的话,
: 是不是已经读取才有datareceived的发生.
: 没有读取就不发生?
: 还是说连接上,serialport.open()之後,
: 只要有data就会有datareceived的状态?
有Data想要进来, 就会触发DataReceived这个事件, 你再到对应的处理函式里去
用你的方式去读serialport..
: : 让EventHandler在这段时间把data存到buffer里就可以了.
: eventhandler看了几个都没有写的很明白.
: 等我弄清楚再提出问题好了..
: : 确认内容把两边都加上行号就足够了?
: : Serial Port是Half Duplex的. 因此无法同时读取/写入.
: : 读取/写入的时机大多是看Handshake是用DTR/DSR或RTS/CTS吧.
: 我有点没说明的很明白.
: 假设我和一个装置连接,我必须传送命令之後才会得到回应.
你的流程应该是这样
port.Write送讯息去装置 -> 装置收到 -> 装置处理 -> 装置发回讯息 -> 讯息传回
在讯息传回到你的port时, 就会触发DataReceived, 去call你的处理函式
所以你不用用timer或回圈时时去看..把东西写到对应处理函式里就好
: 是不是能在这连接的serialport,传送完毕之後立刻进入接收的状态,
: 等待回应.
: 这样的意思.
: 以上,codeproject的内容我还在消化中.
: 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.68.28.167