c#中serialPort,发送一个命令过去,马上就有一个回应,怎样接收这个回应信息,委托也做了,就是没收到
还有个问题就是,我使用serialPort控件连接到串口,发送完第一次命令后,之后就一直显示串口已开启,不能在命名,我的做法是每次发命令前,打开串口,命令发完后关闭;之后...
还有个问题就是,我使用serialPort控件连接到串口,发送完第一次命令后,之后就一直显示串口已开启,不能在命名,我的做法是每次发命令前,打开串口,命令发完后关闭;之后第二次发送命令时再打开关闭。感觉这个方法不好,有没有大神有更好的方法
展开
2个回答
展开全部
serialPort控件的 DataReceived事件接收返回,它是在线程中完成的,串口必须是232的才有主动上传的,485的只有你发查询命令的时候才会有返回。
更多追问追答
追问
我的是232的,就控制打印的,我发每一条指令都应该有一个回复的,但现在是接收不到
追答
用串口调试工具,发一tiao看看有没有返回,有说明是程序问题,没有那就是线接错了,或是命令发错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、不要反复的开关串口
2、采用串口线程接收返回的数据
3、串口对应的参数设置好
2、采用串口线程接收返回的数据
3、串口对应的参数设置好
追问
但,我第一次打开串口后,发送完一个命令,在次发送命令时,就弹出 串口打开不能再命名。接收数据在DataReceived里?我也写了textbox委托,但没反应啊
追答
1、采用独立的语句打开串口。
2、串口发送的时候,判断串口是否打开?
如果串口没有打开,先开串口,再发送;
如果串口打开,直接发送。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询