主题:请问各位串口控件问题
liujinlin109
[专家分:0] 发布于 2006-08-02 14:20:00
请问各位:
用MSComm接收二进制数,要实现收到一个字节处理一次(OnComm),然后显示在 textBox2.Text上,假定发送方
一秒发送一个字节,请问OnComm事件代码应该怎么写? 在此先谢谢各位了!!
切等!!!
回复列表 (共3个回复)
沙发
zhengjinye [专家分:10] 发布于 2006-08-02 15:56:00
我不知道你在哪块遇到问题。
如果你在串口接收事件处理程序中使用窗体控件是要出问题的。
解决办法:
private void Form1_Load(object sender, EventArgs e)
{
CheckForIllegalCrossThreadCalls = false;
}
板凳
liujinlin109 [专家分:0] 发布于 2006-08-02 20:51:00
我主要是OnComm事件中要怎么编程不懂
我的代码以下: 帮我看看为什么不行
private void axMSComm1_OnComm(object sender, System.EventArgs e)
{
axMSComm1.InputLen=1;
if(axMSComm1.CommEvent==2)
{
byte[] byteArray=new byte[10];
byteArray=(byte[])axMSComm1.Input;
textBox2.Text=byteArray[0].ToString();
}
}
3 楼
tujun [专家分:1190] 发布于 2006-08-04 17:25:00
byte[] byteArray=new byte[10];
此行是多余的
textBox2.Text=byteArray[0].ToString();
textBox2.Text中只能显示出对象类型
应该textBox2.Text = BitConverter.ToString(byteArray,0);
或者
textBox2.Text = System.Text.Encordin.Default.GetString(byteArray);
或者
string s = "";
foreach(byte b in byteArray)
{
s += b.ToString("X2");
}
textBox2.Text = s;
我来回复