2008年港湾兴业培训造势-GlobalAgMarket.docVIP

  • 2
  • 0
  • 约4.24千字
  • 约 5页
  • 2018-12-13 发布于天津
  • 举报
2008年港湾兴业培训造势-GlobalAgMarket.doc

地址:北京市海淀区东北旺西路8号中关村软件园17号楼港湾大厦(100094) 电话:86-010 传真:86-010 网址: HYPERLINK 手机 邮箱:hyq752001@163.com 项目试验方案 为期三天的项目试验共分两个试验进行,1,qt+家居灯的控制,2.qt+智能开关门的控制.一下为方案的具体说明 一:家居灯的控制 本试验采用linux+qt的架构进行,在试验箱上面做试验,在嵌入式linux系统中写好家居灯的驱动程序,在用户界面(qt编程)上通过用户的点击操作来实现对灯的控制,具体显示界面如下: 项目实现源码如下: 写两个槽函数(OpenLight/CloseLight)关联两个pushbutton(打开照明设备/关闭照明设备),连接信号到槽函数即可实现 槽函数如下 Void OpenLight() { char cmd[MAX_CMD_LINE_LEN]; char tmpbuf[MAX_CMD_LINE_LEN];/*防止溢出,数字定义大一些,此处可优化*/ int sockfd; unsigned int re; sockfd = 0; memset(cmd,0x00,sizeof(cmd)); memset(tmpbuf,0x00,sizeof(tmpbuf)); sprintf((char *)cmd,SET LIGHT ON\r\n); /*for test 8 printf(test on light \n); printf(cmd); ***/ sockfd = sock_fd; re = write(sockfd,cmd,strlen(cmd)); if(re!=strlen(cmd)) { perror(write error:); } /*查询接收数据缓冲区,判断是否有数据*/ memcpy(tmpbuf,msg_buf,strlen(msg_buf)); if(cmpMemoryWithByte((char *)tmpbuf, 0, strlen(tmpbuf)))/*缓冲区为空*/ { printf(no data:\n); this-switchTextView-setText(tr(no return data)); } else/*处理数据并显示*/ { /*处理数据部分*/ /* do stuff*/ /************/ this-switchTextView-setText(tr((char *)tmpbuf)); } /*清空数据区*/ memset(msg_buf,0x00,sizeof(msg_buf)); } Void CloseLight() { char cmd[MAX_CMD_LINE_LEN]; char tmpbuf[MAX_CMD_LINE_LEN];/*防止溢出,数字定义大一些,此处可优化*/ int sockfd; unsigned int re; sockfd = 0; memset(cmd,0x00,sizeof(cmd)); memset(tmpbuf,0x00,sizeof(tmpbuf)); sprintf((char *)cmd,SET LIGHT OFF\r\n); sockfd = sock_fd; re = write(sockfd,cmd,strlen(cmd)); if(re!=strlen(cmd)) { perror(write error:); } /*查询接收数据缓冲区,判断是否有数据*/ memcpy(tmpbuf,msg_buf,strlen(msg_buf)); if(cmpMemoryWithByte((char *)tmpbuf, 0, strlen(tmpbuf)))/*缓冲区为空*/ { printf(no data:\n); this-switchTextView-setText(tr(no return data)); } else/*处理数据并显示*/ { /*处理数据部分*/ /* do stuff*/ /************/ this-sw

文档评论(0)

1亿VIP精品文档

相关文档