2457|3

4

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

单片机串口通信 [复制链接]

void CTemDisplayDlg::OnOnCommMscomm1()
{
        // TODO: Add your control notification handler code here


       
        m_strRXData="";                           //每次进入串口函数将编辑框内容清空
        VARIANT variant_inp;                      //可以用 Variant 数据类型来替换任何数据类型,数值数据可以是任何整型或实型数
        COleSafeArray safearray_inp;              //定义具有任意类型的变量safearray_inp
        LONG len,k;                               //定义长整形变量
        BYTE rxdata[2048];                        //设置BYTE数组
        CString strtemp;                          //定义字符型变量

        if(m_Comm.GetCommEvent()==2)              //如果接收缓冲区内有字符
        {

                variant_inp=m_Comm.GetInput();        //读缓冲区
            safearray_inp=variant_inp;            //将VARIANT型变量转换为COleSafeArray型
         len=safearray_inp.GetOneDimSize();    //得到有效数据长度                                          //一到这里就出错
                for(k=0;k                 safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组                              

                for(k=0;k                 {
                        BYTE bt=*(char*)(rxdata+k);                //字符型
                        strtemp.Format("%c",bt);                   //将字符型送入临时变量strtemp中存放
                        m_strRXData+=strtemp;                      //加入接收编辑框对应字符串
                }
                m_strRXData+="\r\n";
        }

                 UpdateData(FALSE);                 //更新编辑框内容

       
}
我是菜鸟,刚学用VisualC++编串口通信的上位机程序,想显示温度,可一到 len=safearray_inp.GetOneDimSize(); 就出错,哪位大神能帮忙看看!
此帖出自单片机论坛

最新回复

数年前我先学习的MSComm串口通信,但最终放弃了,决定使用API。 若使用API,可加我为好友,一起探讨。  详情 回复 发表于 2013-1-18 20:45
点赞 关注
 

回复
举报

12

帖子

4

TA的资源

一粒金砂(初级)

沙发
 
串口跟什么通讯呢?
此帖出自单片机论坛
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
跟单片机,PC机发,单片机好使,单片机发PC机显示不出来,大神有何高见啊?
此帖出自单片机论坛
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

4
 
数年前我先学习的MSComm串口通信,但最终放弃了,决定使用API。
若使用API,可加我为好友,一起探讨。
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表