让知识更加联贯 让技术走进生活
我的博客
我的程序 我的网络
------郑紫至
E-mail:zhengzizhi@yahoo.com.cn
地磅称量系统
59.
从ToolBox中拖放一个SerialPort控件放到FrmWtBill界面上
根据供应商提供的说明书设置相关参数:
BandRate 1200
单位为波特率kbps
DataBits 7
设置每个字节的标准数据位长度
7
位是由日本制定的工业标准 ,8位是欧洲制定的工业标准
Parity Even
有校验位 ,并且是偶校验
PortName COM1
采用该控件的默认COM1口接收数据(前提是别的设备没有占用它,多COM
口市面上有扩展卡销售 外观是梯形一排4针另外一排为5针)
TtsEnable True
启用请求发送信号
StopBits One
设置每个字节的标准停止位数 ,有停止位 ,值为1
上面只有 PortName 和 StopBits 是默认不需要设置的,上面的另外几个属性是需要设置的
除了从供应商说明书上知道一次发送多少位的数据到用户端电脑上可以从超级中端上知道
大概有多少位 为什么这么说?还可以判断发过来的是十六进制数据还是十进制数据
看看下面这个ASCII表你就明白了 如果接收到的数据包括空格(Hex=20)或者Hex的值是
从00一直到20 这一段(Hex等于1E和1F除外)都跟空格一样是不可见字符,从超级终端
是无法看出来的 但是要接收到奇怪可见字符符号那么可以判断该设备发过来的数据一
定不是十进制的数据, 可以在设计程序的时候初步定义一个比在超级终端里面看到的数
据位数多个几位的字节数组,在调试程序的时候就可以准确的知道到底发过来的数据到底
有多少位字 然后把字节数组的大小改成需要的准确大小来储存接收的字节
从超级终端里面可以根据第二次出现特殊字符的地方就是一个周期数一个周期内的位数
这一段就是一次完整的信息发送 。
完全没有说明书 有些时候也需要超级终端来试探性的设置看那些参数设置后能收到
数据,然后确定该设备可以采用一组什么样的参数来进行串口通讯。
超级终端没有玩过?我发几张截图看看是怎么做 我的电脑上没有连接地磅设备
最终是个没有收到什么数据的空白数据区域 如下图
下面是如何用附件里面的超级终端检验硬件设备的好坏发给用户的是不是10进制数据 还是16
进制数据 还可以凭个人经验探测该设备能够通讯时的基本参数设置情况等等给编程提供最重要的也是
最基本的理论依据。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhengzizhi/SelectedST.bmp)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhengzizhi/mytest.bmp)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhengzizhi/mytestcom1.bmp)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhengzizhi/SetCOM1Property.bmp)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zhengzizhi/mytestOK.bmp)