第三讲:显示器程序介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲:显示器程序介绍

EMonImpl类 继承EMon类 void setUp() 显示上行 void setDown() 显示下行 void setPark() 显示停止 电梯通信程序 显示界面程序 PC通信程序 RS485驱动程序 RS485标准只对接口的电气特性作出规定,而不涉及插件、电缆或协议。因此,在Linux下使用RS485接口,可借助串口驱动程序实现。但是,RS485是半双工的,比起RS232,需要多加一个I/O口来控制RS485的方向,该I/O口在发送数据时置高,接收数据时置低。 发送数据: ioctl(fd485, 1, 0); write(fdtty, bufout, 1); delay(); 读取数据: ioctl(fd485, 0, 0); read(fdtty, bufin, 1) ; void initialtty() 初始化串口 void receivetext(const char *name, char colset) 接收文字信息 void receivefile() 接收文件 发送图片名称列表 接收文字信息receivetext() 接收图片receivefile() 方法: PC打开要传输的文件,读取文件数据,然后通过串口向外发送;目标板先建立一个空文件,然后把从RS485接口读到的内容写入该文件里。 数据校验: 为防止文件数据在传输的过程中,丢失或出错,进行校验是必要的。在这里,采用的校验方法是:发送端每发送8个字节,就取1个字节作为校验字节。该字节是前8个字节异或运算的结果;接收端每接收8个字节,就对该8个字节进行异或运算,并把结果与校验字节作比较,相同则传输继续进行,不同则要求发送端重新发送。 客户端程序 MSComm 客户端程序使用Visual Basic 6.0编写 在VB中,使用MSComm控件访问串口 添加MSComm控件 Project-Components-Controls-Microsoft Comm Control 6.0 设置串口参数 MSComm1.Settings = 9600, N, 8, 1“ 设置端口 MSComm1.CommPort = 0 开启串口 MSComm1.PortOpen = True 读串口 buf_in = MSComm1.Input 写串口 MSComm1.Output = buf_out 串口输入、输出缓冲区上数据的数量 MSComm1.InBufferCount MSComm1.OutBufferCount 设置一次读取输入数据的数量 MSComm1.InputLen = 1 程序流程 程序流程 与目标板上PC通信程序的流程互补 显示器程序介绍 目标板上的程序 目标板程序架构 任务功能 显示界面任务主要负责控制液晶显示屏的显示内容; 电梯通信任务主要负责获取电梯信息,并通过标准输出把这些信息传递给显示界面任务; PC通信任务主要负责接收和执行PC端的指令,它控制显示界面任务的启停,以完成用户的更新要求。 目标板上的程序在/myprogram目录下: 目录dirpics:存放电梯方向显示图片 目录images:存放图片区的图片 目录text:text.txt:广播消息 text2.txt:天气消息 display485 主程序 elevator_sh 显示界面程序运行脚本 elevator3 显示界面程序 io 电梯通信程序 电梯通信程序 显示界面程序 PC通信程序 电梯接口驱动程序 本部分的驱动程序分为2个 io4 访问上行、下行、检修、超载4个I/O口的 状态 io8 访问楼层信息8个I/O口的状态 io4 I/O口:GPE8, GPE9, GPE10, GPE11 read接口:返回4个状态信息,buffer指向的缓冲区存放读到的状态信息,由4个字节组成,各字节依次存放上行、下行、检修、超载4个状态信息。 static int keys_read(struct file * file, char * buffer, size_t count, loff_t *ppos) { int i; for(i=0; i 4; i++){ key_value[i] = (! read_gpio_bit(key_table[i])) + 48; } copy_to_user(buffer, key_value, sizeof key_value); return sizeof key_value; } io8 I/O口:GPE0 ~ GPE7 read接口:返回楼层信息,buffer指向

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档