最近开始学习C++,MFC,以前一直是C,Linux C,javascript方面的,虽然也学过一点C++,但是一直没怎么用,好多都忘记了。不过毕竟有基础,现在重新捡起来感觉还可以。
好了,废话不多说,说下这几天做的一个小程序,以及遇到的问题。
公司给了个采集板,用VC6.0 MFC 写个程序,通过串口可以收发AT命令。
接到这个任务后,考虑了下需要做的有这几个步骤:
1.板子是否正常,所以先用网上的串口调试工具测试;
2.用MFC,需要用到哪些控件;
3.控件里什么函数怎么和AT命令关联;
然后就是一步一步实现:
1.新建一个基于对话框的应用程序;
这个过程应该都会,一直下一步即可。只是在选择单/多文档、对话框的时候选择对话框
2.为了实现串口通信,添加MScomm控件;
(1)单击主菜单project的子菜单Add To project的Components and Controls选项;
(2)在弹出的"Components and Controls Gallery"对话框中选择Registered ActiveX Controls文件夹中的"Microsoft Communications Control,version 6.0"选项,单击其中的"Insert"按钮,MSComm控件就被增加到工程中了
3.添加控件,变量,消息响应函数等;
这里需要注意几个问题:
(1)端口号,波特率,这些值;
(2)编辑框属性,最好设置成带有滚动条,可以输入回车;
(3)输入AT命令,要考虑其特殊性,刚开始我输入的命令是"AT+STOP\r\n",这样的后果就是接上串口后,打开串口,发送命令,第一次在接收消息框中可以正常收到返回信息OK!,然后再发送一次命令,却不能接收到命令,只有断开串口连接,重新连上才可以。而且同样是只能收到第一次发送的命令。改成“AT+STOP\r”后才正常。
基本功能代码:
1.void CMScommDl