使用宏指令执行串口通讯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Operation Manual of PanelMaster
使用宏指令执行串口通讯
Neomate Technologies Inc.
串口是计算机上一种非常通用的通讯协议,同时也是大多数仪器仪表设备的通用通讯协议。在触控屏应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。除了触控屏软件PanelMaster自带的许多驱动之外,我们也可以设计相应的串口通信程序,完成二者之间的数据通信任务。
串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。
引脚 功能说明 缩写
1 数据载波检测 DCD
2 接收数据 RXD
3 发送数据 TXD
4 数据终端准备 DTR
5 信号地 GND
6 数据设备准备好 DSR
7 请求发送 RTS
8 清除发送 CTS
9 振铃指示 DELL
串口主要信号线定义
电气特性:数据传输速率最大可到20K bps,最大距离仅15m,一般在9600 bps,可以满足通讯需求。
PV提供了最通用的串口通讯服务General Device(COM)。使用串口通讯需选择服务General Device(COM),设置为
我们假设两台屏之间的串口通讯.接线图如下:
A触控屏的连接设置为:
B触控屏的连接设置为:
由此可以看出,触控屏A是通过COM1和屏B的COM2进行通讯的,它们都使
用PanelMaster的General Device(COM)服务。
要使用宏指令实现串口的通讯,我们需要了解General Device(Com)。
General Device(Com) 说明
控件类别 代号 名称 存取
方式
说 明
Bit Device CTS_STS CTS 状态 只读该状态是程序从接收方读到的状
态,1表示禁止发送, 0 表示允许发
送,当EN_HS为1时,程序在发送前
检查该状态,等待直到允许发送时才
能发送,否则此次发送失败。写此状
态没有作用。
Bit Device EN_HS 检查握手信号 读写当该状态为1时,程序在发送前检查
CTS_STS是否允许发送,并且在发送
前禁止对方发送,并在发送结束后允
许对方发送。
Bit Device FLUSH 清空接收缓冲
区 只写写1清空接收缓冲区, 写0没有作用。读此状态为0。
Bit Device RESET UART复位并清
空接收缓冲区 读写写 1 UART复位并清空接收缓冲区,所有状态恢复为初始状态 写0没有
作用。读此状态为0。
Bit Device RTS 设置(SET)RTS
信号 读写设置该状态为1,禁止对方发送,0允许对方发送。
Word Device RX 数据接收 只读从接收缓冲区中读取N个字符。当
接收缓冲区中的字符数量大于等于
N时, 读出N个字符。RX_CNT为
N,RXB_CNT=RXB_CNT-N。否则读出
RXB_CNT个字符,RX_CNT =
RXB_CNT,RXB_CNT=0。 写该寄存器
无作用。每一次接收,RX_STS=1成
功,RX_STS<0 硬件错。
Word Device RX_CNT 实际接收字符
数 只读上一次读取接收缓冲区实际读出的字符数量。 写该寄存器无作用。
Word Device RX_STS 接收结果 只读上一次接收是否成功。 1:成功,2:
超时,<0:失败。 写该寄存器无作
用。
Word Device RX_W 等待接收数据 只读从接收缓冲区中读取N个字符。当
接收缓冲区中的字符数量大于等于
N时, 读出N个字符。RX_CNT为
N,RXB_CNT=RXB_CNT-N, RX_STS=1
成功。否则等待直到超时。如果
RXB_CNT仍然小于N,读出RXB_CNT
个字符,RX_CNT = RXB_CNT,
RXB_CNT=0,如果硬件出错RX_STS<0
失败,否则RX_STS=2超时。 写该
寄存器无作用。
Word Device RXB_CNT 接收缓冲区中
字符数 只读接收缓冲区中的字符数量。写该寄存器无作用。
Word Device TO_TIME 超时时间 读写设置接收发送的超时时间,单位为
100MS。
Word Device TX 数据发送 只写发送数据到指定串口。一、等待上
一次发送完成。二、如果EN_HS等
于1,等待对方允许发送,即
CTS_STS=0。三、 如果EN_HS等于
1,发送前设置RTS=1,并在发送结束
后设置RTS=0。四、如果开始发送
前已经超时TX_STS=2超时返回。
五、开始发送TX_STS=1成功并返
回。
Word Device TX_STS 发送状态 只读上一次发送是否成功。 1:成功,2
超时, 0XFF正在发送中。写该寄存
器无作用。
Word Device TX_W 数据发送并等
待完成 只写发送数据到指定串口。一、等待上一次发送完成。二、如果EN_HS等
于1,等待对方允许发送即
CTS_STS=0。三、如果EN_HS等于
1,发送前设置RTS=1,并在发送结束
后设置RTS=0。四、如果开始发送
前已经超时TX_STS=2返回。五、开
始发送。六、等待发送结束,设置
TX_STS=1。
发送和接受的控制流程如下: