atmega128单片机概述-2-微机串口技术-对话框_第1页
atmega128单片机概述-2-微机串口技术-对话框_第2页
atmega128单片机概述-2-微机串口技术-对话框_第3页
atmega128单片机概述-2-微机串口技术-对话框_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编辑ppt1基于微软提供的组件进行基于微软提供的组件进行串口通信串口通信对话框形式对话框形式 北京航空航天大学北京航空航天大学xiajiexiajie20112011年年4 4月月编辑ppt2对话框对话框步骤步骤建立一个项目为对话框建立一个项目为对话框给项目增加组件给项目增加组件通过通过“ClassWizard”将控件映射一个对应函数。将控件映射一个对应函数。需要初始化(在初始化对话框中实现)需要初始化(在初始化对话框中实现)vm_ctrlComm.SetCommPort(1); /选择选择COM1vm_ctrlComm.SetInputMode(1); /输入方式为二进制方式输入方式为二进制

2、方式vm_ctrlComm.SetInBufferSize(1024); /设置输入缓冲区大小设置输入缓冲区大小vm_ctrlComm.SetOutBufferSize(512); /设置输出缓冲区大小设置输出缓冲区大小v/波特率波特率9600,无校验,无校验,8个数据位,个数据位,1个停止位个停止位 vm_ctrlComm.SetSettings(9600,n,8,1); v()v m_ctrlComm.SetPortOpen(TRUE);/打开串口打开串口v /参数参数1表示每当串口接收缓冲区中有多于表示每当串口接收缓冲区中有多于v /或等于或等于1个字符时将引发一个接收数据的个字符时将引

3、发一个接收数据的OnComm事件事件vm_ctrlComm.SetRThreshold(1); vm_ctrlComm.SetInputLen(0); /设置当前接收区数据长度为设置当前接收区数据长度为0v(); /先预读缓冲区以清除残留数据先预读缓冲区以清除残留数据编辑ppt3接收数据接收数据按字符串接收按字符串接收VARIANT variant_inp;COleSafeArray safearray_inp;LONG len,k;BYTE rxdata2048; /设置设置BYTE数组,无符号数组,无符号8位整型数位整型数CString strtemp;if(m_ctrlComm.GetC

4、ommEvent()=2) /=2表示接收缓冲区内有字符表示接收缓冲区内有字符variant_inp=m_ctrlComm.GetInput(); /读缓冲区读缓冲区safearray_inp=variant_inp; /变量转换类型变量转换类型len=safearray_inp.GetOneDimSize(); /得到有效数据长度得到有效数据长度for(k=0;klen;k+)safearray_inp.GetElement(&k,rxdata+k);/转换为转换为BYTE型数组型数组for(k=0;klen;k+) /将数组转换为将数组转换为Cstring型变量型变量BYTE bt

5、=*(char*)(rxdata+k); /字符型字符型strtemp.Format(%c,bt); /将字符送入临时变量将字符送入临时变量strtemp存放存放m_strEditRXData+=strtemp; /加入接收编辑框对应字符串加入接收编辑框对应字符串 UpdateData(FALSE); /更新编辑框内容更新编辑框内容编辑ppt4发送数据发送数据发送字符串发送字符串发送字符串发送字符串/ CStringm_strEditTXData;UpdateData(TRUE); /读取编辑框内容读取编辑框内容m_ctrlComm.SetOutput(COleVariant(m_strEdi

6、tTXData); 需要发送需要发送2个字节的个字节的number,要保证,要保证number 8);/ 高字节高字节bb1=(unsigned char) number ;/ 低字节低字节m_MSComm.SetOutput(COleVariant(bb);/发送数据发送数据编辑ppt5接收数据接收数据按数字接收按数字接收VARIANT variant_inp;COleSafeArray safearray_inp;LONG len,k;BYTE rxdata2048; /设置设置BYTE数组,无符号数组,无符号8位整型数位整型数CString strtemp;if(m_ctrlComm.GetCommEvent()=2) /=2表示接收缓冲区内有字符表示接收缓冲区内有字符variant_inp=m_ctrlComm.GetInput(); /读缓冲区读缓冲区safearray_inp=variant_inp; /变量转换类型变量转换类型len=safearray_inp.GetOneDimSize(); /得到有效数据长度得到有效数据长度for(k=0;klen;k+)safearray_inp.GetElement(&k,rxdata+k);/转换为转换为BYTE型数组型数组 char buffer50;int ix,iy,jj; / 按照数字方式收数据的方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论