组态王与ARM开发板串口通信实现 |
|
|
存区中的存储单元与组态王中定义的寄存器对应。 2 组态王与ARM9开发板串口通信接口电路 上位PC机与下位单片机ARM9的串口通信硬件接口电路。上位PC机与下位机ARM9开发板本身都自带串行通讯接口,但由于在分布式系统中上位机与各下位机的分布不集中,故采用RS-232转RS-485进行串口通信。RS-485最大传输距离为1 219 m,最大传输速率为10 Mb/s,对干扰有较强的抑制能力。 3 ARM9开发板串口通信程序设计实现 3.1 下位机ARM9通信数据缓存区设计 下位机ARM9设计通信数据缓存区,其目的是让下位机通信数据缓存区中的存储单元与组态王中定义的寄存器对应起来,为数据通信做好准备。本设计在ARM9中定义64字节通信数据缓存区(U8 X[64]),即数组逻辑地址从0-63共64个字节的存储单元,每个存储单元都可读可写,具体情况可由开发监控系统的需要来灵活决定。上位PC机组态王中定义寄存器格式Xdd,其中dd代表数据地址,此地址与本设计ARM9通信数据缓存区存储单元(数组X)的地址相对应。 3.2 下位机ARM9串口通信程序设计 组态王与ARM9开发板串口通信程序设计具体思路。首先,在ARM9中设置串口通信数据缓存区(定义64字节缓存区:U8 X[64])与组态王中定义的寄存器X相对应;然后,让ARM9开发板上的串口等待上位PC机(组态王)发送的读写命令,当串口接收到数据时发生串口中断,并执行串口中断处理程序。串口中断处理程序功能:当串口收到不是读写命令或收到读写命令的设备地址不是本下位机的地址时本下位机不作回应,当收到读写命令的设备地址是本下位机的地址时本下位机按照单片机通讯协议(ASCII)作出相应的应答。 完成组态王与ARM9开发板串口通信的串口中断程序及中断处理程序ARM _ ACK()的程序流程图如下图: 本文基于亚控公司的组态王中的单片机通讯协议(ASCII)实现组态王与ARM9开发板串口通信的程序设计方法,已在TQ2440开发板上编程设计实现,并成功与组态王正确通信。 4 结论 在工控中使用32位ARM处理器,是未来工业控制的发展方向,所以解决组态王等监控软件与ARM开发板上一页 [1] [2] [3] 下一页 |
|
|
|
上一个论文: 网络文化对思想政治教育的影响及应对策略 下一个论文: 电视:电视如何玩转微博 |
|