放到全局的字符串里 strRXDdata stremp1 strRXDdata Vrn//字符串加单位V后换行 SetDlgItemTextIDC_EDIT1strRXDdata//更新文本
控件的显示 这时重新编译一下看会不会有
什么错误出现下面提示可以选择全部组建来清除。
LINK : LNK4073: cannot create map for .ILK file linking nonincrementally 出现下面错误请关闭
运行的test.exe后重试。
LINK : fatal error LNK1104: cannot open file Debug/test.
exe 出现下面错误两种
错误是由于空间编号
问题引起的当
我们添加了编辑框或者“电话”后再添加其编号自动加一就会出现控件没定义。
Z:vc串口上位机test
testDlg.cpp32 : error C2065: IDC_M
SCOMM1 : undeclared identifier Z:vc串口上位机testtestDlg.cpp139 : error C2065: IDC_EDIT1 : undeclared identifier
解决方法是在RecourseView里打开窗体IDD_TEST_DIALOG右击“电话”或者编辑框等其它出错的控件右击选择属性在常规里
修改ID这里的程序除BUTTON有1、2两个之外其它都是1 全部组建
编译一下看看有
没有错误没有错误就可以运行一下
可以看到界面更原来是一样的。
有错误就修改一下省得弄多了错在哪里都不知道查起来麻烦。
8、 在源码编辑里打开testDlg.cpp
文件进行窗口初始化
函数的编写。
找到BOOL CTestDlg::OnInitDia
log函数 在SetIconm_hIcon FALSE // Set small icon // TODO: Add extra initialization here 后面添加如下初始化代码 gllen 0 //记录转换次数全局变量清零 if m_comm1.GetPortOpen//
判断串口是否已经打开 m_comm1.SetCommPort1 //选择串口号1 m_comm1.SetPortOpenTRUE //打开
串口 m_comm1.SetRThreshold2 //收到两个字节引发OnComm
事件 m_comm1.SetInputMode1//输入
模式选为二进制 m_comm1.SetSettings57600n81 //设置串口参数波特率57600无奇偶校验1位停止位8位数据位 MessageBox串口初始化完毕提示 //提示串口
成功初始化 else MessageBox串口被占用提示 //如果已经打开串口消息框提醒 pbar CProgressCtrlGetDlgItemIDC_PROGRESS1//获得指向IDC_
PROGRESS1的指针
pbar -
SetRange01023//设置进度条的
范围01023 pbar - SetPos0//
当前位置为0 m_serial.SetWindowText关闭串口//按钮
显示状态改变 可以看到串口的参数等等都在在这里初始化的可以根据
自己的
需要修改的具体可以查看VC里的详细
介绍看看有
哪些参数可以给我们修改来用。
添加后再编译一下运行后可以看到多了
一个串口初始
化的提示信息窗口。
至此我们已经完成了主要的串口操作及界面剩
下的就是两个按钮的操作了。
9、 回到资源视图的IDD_TEST_DIALOG窗口双击
开始转换按钮给它添加事件点击后PC通过串口发送0xaa出来给单片机接收。
添加如下代码: CByteArray m_Array //定义字节数组 m_Array.RemoveAll //字节数组清空 m_Array.SetSize1 //设定维数为1 m_Array.SetAt00xaa //给m_array0赋值0 m_comm1.SetOutputCOleVariantm_Array//由于SetOutput函数的参数为VARIANT型
必须强制转换后才能发送 同样地双击另外一个按钮给串口操作按钮添加代码用于关闭或者打开串口。
添加如下代码 if m_comm1.GetPortOpen//判断串口
是否已经打开 m_comm1.SetPortOpenTRUE //如果串口是关闭的则打开串口 m_serial.Set
WindowText关闭串口 //按钮显示
状态改变 else m_comm1.SetPortOpenFALSE //如果已经打开串口则关闭串口 m_serial.SetWindowText打开串口//按钮显示状态改变 至此一个简单的串口上位机
软件编写完成了可以用来测试下通过单片机往串口里发送数据可以看到主窗口的的转换结果已经进度条显示电压值
变化。
要把这个程序拿出来用只需把…vc串口上位机testRelease的test.exe拷出来用就行。
Release可以在编译窗 口里选择
win32 release然后重新编译一下就出来了。