0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

单片机

单片机串口通信

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(); 就出错,哪位大神能帮忙看看!

提问者:uywuuwewd 地点:- 浏览次数:3618 提问时间:10-26 09:45
我有更好的答案
提 交
1条回答
该怎么起名字呢 11-30 04:19
串口调试首先要通过程序打开串口。
撰写答案
提 交
1 / 3
1 / 3
相关单片机
具有音调控制的单片机立体声前置放大器
用于单片机与电子装置中的开关电源
单片机软硬件复位的条件都有啥
电动机的单片机控制
单片机应用系统开发实例导航