串口通信问题(接受不到数据)
前台我放了一个SerialPort控件 id是sp1;
还放了一个按钮,id是button1
button1点击事件是:
C# code
try
{
sp1.ReadTimeout = 3000;
sp1.PortName="com1";
sp1.BaudRate=9600;
sp1.DataBits=8;
sp1.Open();
tb_data.Text = sp1.IsOpen.ToString();
string temp=sp1.ReadLine();
sp1.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
我用另一台仪器通过com1传数据近来,怎么传不进来啊??提示错误超时(sp1.IsOpen()的值是true)
我郁闷了
当我在button1的事件里把接受改为发送的时候
string temp=sp1.ReadLine(); 换成 sp1.Write("fly")
仪器那边有反应
这是怎么回事呀?
------解决方案--------------------改用串口的接收事件处理。
------解决方案--------------------
------解决方案--------------------这样吧你先将自己的串口2,3脚短接起来如果接收正常然后再去调试外部设备吧
------解决方案--------------------嘻嘻 我也正研发这块呢 实现早在去年已经完成了 集成阶段也完了 就差需求(业务逻辑)了
------解决方案--------------------注册这个事件DataReceived
------解决方案--------------------
------解决方案--------------------你连接外部设备前,你确认的设备和你电脑上的串口是能通吗?用调试工具试过有数据回来没。
还有你设备波特率是不是和你代码中设置的一样。