当前位置: 代码迷 >> 单片机 >> 通过电脑向单片机发送控制命令的有关问题
  详细解决方案

通过电脑向单片机发送控制命令的有关问题

热度:281   发布时间:2016-04-28 16:30:46.0
通过电脑向单片机发送控制命令的问题
谁能帮忙解释一下,当电脑上的软件向仪器串口发送命令时,比如说发送一个E,让其实现某种行为。。。这个大写的E是怎么通过串口传过去的。。。。

 请帮忙描述一下这个过程 。。谢谢!


------解决方案--------------------
自己写程序时:上位机串口初始化,设好波特率,将0x0e写到串口;或者借助于串口调试工具来做;
下位机,过程类似,由于硬件各不相同,一般要自己写程序。
串口初始化,设好波特率,开串口中断,从串口中取上位机发送来的数据.
------解决方案--------------------
探讨
是放送ASCII码还是二进制数,取决于仪表的通讯协议,必须问厂家。没有通讯协议,也就等于不知道指令的格式,自己破译,很难做的;
如果知道通讯协议,指令格式,上位机软件就比较简单。例如,用VB做个界面,利用串口控件和按钮控件,很容易实现你说的功能。

------解决方案--------------------
你想用自己的软件替代原来的这个很好实现。
比如你前面说的点一个按键发送E来替代原来输入E再点发送,可以直接把相应的代码写到点击按键的事件中去。具体的操作就要看串口编程了。VB6.0和VC6.0都用的MSCOMM控件;C#和VB.NET中用的是serialport控件或者类来实现;当然还有其它编程工具,基本都可以在网上找到相应资料。
关于通信协议,其实厂家不给你自己也可以通过串口助手把通信协议破解出来,比如用虚拟串口(假设选择的是COM3和COM4串口对)配合串口助手,用原来的软件选择COM3,串口助手选择COM4,当用原来的软件发送相应的命令就可以在串口助手中得到设备接收到的具体内容了,以后自己编程的时候就可以直接用接收到的这个内容来实现具体的功能。我以前也通过这种方法解析过人家的产品协议然后自己做上位机软件。
  相关解决方案