作者gwogwo (咕噜)
看板C_Sharp
标题[问题] RS232传输问题
时间Tue Aug 9 11:12:01 2005
已经加入MSComm元件
我预设进入的值是 0x2B (就是00101011)
但是他就是不会show出来...>"<
请教各位大大!!
-------
axMSComm1.RThreshold = 1; // 当有资料传进缓冲区便触发OnComm事件
private void InitComPort()
{
// 设定连接埠为Com1
this.axMSComm1.CommPort = 1;
// 检查一下Com1是否被使用了,若被使用了,把Com1关闭并重设.
if(this.axMSComm1.PortOpen)
this.axMSComm1.PortOpen = false;
// 设定当有资料进缓冲区时就触发OnComm事件
this.axMSComm1.RThreshold = 1;
// 设定序列埠的资讯
this.axMSComm1.Settings = "9600,n,8,1";
// 强迫DTR线路为高电位
this.axMSComm1.DTREnable = true;
// 没使用交握
this.axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comNone;
// 使用文字传输模式
this.axMSComm1.InputMode = MSCommLib.InputModeConstants.comInputModeBinary;
// 使用Input时为读取全部资料
this.axMSComm1.InputLen = 0;
// 0x00为有用之字元
this.axMSComm1.NullDiscard = false;
// 注册OnComm的事件处理函式
this.axMSComm1.OnComm += new System.EventHandler(this.OnComm);
// 把Com1打开罗
this.axMSComm1.PortOpen = true;
}
private void OnComm(object sender, EventArgs e) // MSCommLib OnComm Event
Handler
{
byte[] indata = (byte[]) this.axMSComm1.Input;
if (this.axMSComm1.InBufferCount > 0)
ProcessComData(indata);
}
private void ProcessComData(byte[] input)
{
this.RXtxtbox.AppendText(input +"\n");
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.32.10
1F:推 chiifan:InputLen不要用0试试...220.133.250.211 08/09
2F:推 gwogwo:楼上大大 不行ㄟ@@" 60.248.32.10 08/10
3F:推 chiifan:接收的时候OnCom会进入吗?220.133.250.149 08/11
4F:推 gwogwo:我用另一种方式解决了...等整理好在上来分享140.138.145.194 08/11