作者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
推 chiifan:InputLen不要用0試試...220.133.250.211 08/09
推 gwogwo:樓上大大 不行ㄟ@@" 60.248.32.10 08/10
推 chiifan:接收的時候OnCom會進入嗎?220.133.250.149 08/11
推 gwogwo:我用另一種方式解決了...等整理好在上來分享140.138.145.194 08/11