6
3
6
2
2
6 2
6
第 33 卷 2005 年第 1 期 PC 机与单片机串行通信的一种新方法
论文编号:1001 - 3954(2005) 01 - 0064 - 02
PC 机与单片机串行通信的一种新方法
徐兴元沈宪章瓮嘉民
郑州大学电气工程学院河南郑州 450002
前关于 PC 机和单片机串行通信的实现方法, 主 Test Dlg ,选择 IDC ┉ M1 ,双击消息 On ┉Comm ,在弹
目要由 PC 机加单片机硬件来完成。在没有单片机出的对话框中将函数名改为 m ,确认。这个函数
硬件的条件下无法完成 PC 机和单片机的串行通信实是用来处理串口消息事件的, 每当串口接收到数据,
验, 因此本文提出了一种基于 VC 6. 0 开发环境, 利就会触发 m 事件, 只需在 m() 函数加入相
用 m 控件和 Keil uVision2. 0 串行窗口相结合实现应的处理代码就能实现串口通讯功能。m 函数的
PC 机和单片机串行通信的软件仿真的新方法。代码如下:
void mTestDlg : :m()
{ / / TODO : Add your control notification handler code
3 1 建立基于对话框的项目, 并利
here
用 m 控件编程 VARIANTvariant —inp ;
1. 1 建立项目 COleSafeArray safearray —inp ;
打开 VC 6. 0 , 建立一个基于对话框的 MFC 应用程 LONGlen ,k ;
序 ScommTest。 B YTE rxdata2048 ; / / 设置 B YTE 数组 An 8 - bit
1. 2 在项目中插入 m 控件 integer that is not si gned.
选择 Project 菜 CString strtemp ;
—事件
单下 Add To Project if (m m. mEvent () = = 2) / /
值为表示接收缓冲区内有字符
通 po 2
nents and Controls ⋯{ / / / / / / / / 以下你可以根据自己的通
选项, 将 ActiveX 控信协议加入处理代码
件中 variant —inp = m. GetInput () ; / / 读
用 munications Control , 缓冲区
version 6. 0 控件添加 safearray —inp = variant —inp ; / / VARIANT 型
到控件工具箱中, 如变量转换为 ColeSafeArray 型变量
图 1 添加通讯控件图
图 1 所示。 len = safearray —inp. GetOneDimSize () ; / / 得
到有效数据长度
1. 3 利用 ClassWizard 定义 m 类控制
for (k = 0 ; k < len ; k ) safearra -in . Get El
对象 y p
ement ( &k ,rxdata + k) ; / / 转换为 B YT
PC机与单片机串行通信的一种新方法 来自淘豆网m.daumloan.com转载请标明出处.