dephi上位机 通过串口实现与STM32的通讯
最近用dephi做了一个上位机,刚开始什么都不懂,在网上乱搜帖子看,发现大家的帖子写的都很好,对新手来说吧真不太适应,我对着好几篇文章弄了好久才弄好。现在分享一下个人经验,供新手入门用。
首先本文介绍的是基于spcomm控件的实现方法,首先下载spcomm控件然后安装进dephi。安装方法如下:
一: 选择下拉菜单 Component中的 Install Component选项
二:在 Unit file name处填写 SPCOMM控件所在的路径,其他各项可用默认值就行。
安装后,在 System控件面板中将出现一个红色控件 COM(spcomm)。现在就可以像 Delphi自带控件一样使用 COM控件了。
安装好后就是调用各种组件然后设置属性与编辑代码了
我的工程界面如下(界面不好看=-= 不过咱们本文要的是实现功能就好~~~~~~)
首先把COM(spcomm)控件拖出来,然后设置属性
属性介绍:
CommName:表示 COM1、 COM2等串口的名字;
BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;
ParityCheck:表示是否需要奇偶校验;
ByteSize:根据实际情况设定的字节长度;
Parity:奇偶校验位;
StopBits:停止位;
SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送
对应事件介绍
OnReceiveData :procedure (Sender: TObject;Buffer: Pointer;BufferLength: Word) of object
当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。
OnReceiveError : procedure(Sender: TObject; EventMask : DWORD)
当接收数据出现错误时将触发该事件。
在这里我们把Com的name属性设置为comm1(与代码对应)
然后把图中划线几项设置为FLASE、具体原因现在我也不知道,但是如果是ture的话 ,会造成串口只能接受数据而不能发送数据。哪位大神指导望指点下!
<