L200配置工具添加显示IMEI号功能
2018-02-09 11:44
369 查看
要实现的功能就是添加一个”Query IMEI”按钮,工具与模块连接后,当点击这个按钮,会有一个弹出框,并把IMEI号显示在弹出框内。
原理:当点击按钮,会发送一个指令”AT+IMEIQUERY”到模块中,当模块接收到这个指令时,会对应设置好返回一个字符串例如”#IMEI:359865070016863”,我们只需要判断从串口接受到的字符串中是否含有”#IMEI:”字符串,然后截取后面15个数字(IMEI)并显示出来即可.
如下图:
在实现功能的过程中,在IMEI后面出现乱码的情况 主要由以下两个问题导致:
下面是添加功能的具体步骤:
头文件中添加函数声明
定义响应函数
在发送完指令后,从接收串口数据的ComRecvProc()函数中添加判断是否含有回复的指令头字符串
原理:当点击按钮,会发送一个指令”AT+IMEIQUERY”到模块中,当模块接收到这个指令时,会对应设置好返回一个字符串例如”#IMEI:359865070016863”,我们只需要判断从串口接受到的字符串中是否含有”#IMEI:”字符串,然后截取后面15个数字(IMEI)并显示出来即可.
如下图:
在实现功能的过程中,在IMEI后面出现乱码的情况 主要由以下两个问题导致:
1.调用malloc进行堆中分配内存时,一定要进行手动初始化,比如调用memset函数初始化为0
2.我们调用malloc分配的内存是用来存储IMEI号的,这是一串字符串,后面带‘\0’结束符,IMEI号一共是15位,加上结束符,
一共需要至少16个字节的内存空间。
下面是添加功能的具体步骤:
1. 在资源视图中添加按钮,并编辑好按钮的ID以及按钮显示的名称;
2. 在消息映射表中添加消息响应函数(按钮是点击事件),定义响应函数,在对应头文件中声明响应函数;
映射表中添加BEGIN_MESSAGE_MAP(SerialCom, CDialog) ON_BN_CLICKED(IDC_IMEI_QUERY, OnImeiQuery) END_MESSAGE_MAP()
头文件中添加函数声明
afx_msg void OnImeiQuery();
定义响应函数
void SerialCom::OnImeiQuery() { if(!m_bSerialConnected) { AfxMessageBox("The connect button not pressed!"); return; } char *data_t = "AT+IMEIQUERY"; sendData(data_t); }
在发送完指令后,从接收串口数据的ComRecvProc()函数中添加判断是否含有回复的指令头字符串
char *pStart, *pEnd, *pIMEI; //显示IMEI号的处理 CString Show_IMEI; if((pIMEI=strstr(cData,CFG_UART_IMEI_HEAD)) != NULL) //#define CFG_UART_IMEI_HEAD "#IMEI:" { char *IMEI = (char *)malloc(16); //在堆中申请16个字节的内存空间 memset(IMEI,0,sizeof(char)*16);//调用malloc()函数申请完内存后需要手动初始化,一般初始化为0 pIMEI+=6; //跳过"#IMEI:"字符串头 memcpy(IMEI,pIMEI,15); //将后面15个数字复制到申请的空间中 Show_IMEI.Format("The IMEI is:%s",IMEI); //%s代表的是字符串,字符串后面有'\0'结束符,所以实际申请的控件比使用的空间至少要多一个字节 AfxMessageBox(Show_IMEI); //弹出框,显示Show_IMEI的内容 free(IMEI); //调用malloc()函数申请空间后一定要记得调用free()释放 }
相关文章推荐
- (三)检索、添加、显示、隐藏图层及工具导航功能
- C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能
- C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能
- 一个自己用的代码备份工具,支持delphi,android,java,可以自己添加配置,灵活支持大部分编程语言
- Windows 7删除任务栏Shell_NotifyIcon添加过的垃圾图标显示配置信息
- SQL2008配置管理工具服务显示远程过程调用失败
- SQO2008配置管理工具服务显示远程过程调用失败
- 主流报表制作工具之王者争夺战:功能大PK系列之单元格个性显示
- 封装 RecyclerView, 打造为一个非常实用的开发工具 , 添加一些开发中常用的功能 , 例如下拉刷新, 分页, 自动加载 , 加载错误等等
- JSP培训(8)——添加功能和分页显示
- SQl2008配置管理工具服务显示远程过程调用失败
- 为鼠标移动事件添加新的功能-让菜单决定是否显示
- SQO2008配置管理工具服务显示远程过程调用失败
- [导入]利用GridView显示主细表并添加删除、打开、关闭功能(续)
- C# 小工具:读取excel表格,实现筛选某一列的功能,并显示处理
- 最好用的远程shell工具secureCRT 配置字体,像linux那样目录文件显示不同颜色
- 四.用户管理页面(显示所有的用户信息,同时为用户的添加,编辑,修改密码,删除,修改权限等功能提供相应的链接) UserMange.aspx
- sharepoint 管理小工具 - 更新(添加了“导航管理”功能)
- zabbix添加主机并配置图表绘制功能
- SQO2008配置管理工具服务显示远程过程调用失败