qq_42775940 2019-03-18 17:06
浏览 307

请问为什么我的上位机接收不到数据?这是我的控件代码,虚心向大神请教。

VARIANT variant_inp;

COleSafeArray safearray_inp;

LONG len,k;

BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.

CString strtemp;

if(m_mscom.get_CommEvent()==2) //事件值为2表示接收缓冲区内有字符

{

////////以下你可以根据自己的通信协议加入处理代码
variant_inp=m_mscom.get_Input(); //读缓冲区

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_EditReceive+=strtemp; //加入接收编辑框对应字符串

}
}

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

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 django项目运行报编码错误
    • ¥15 请问这个是什么意思?
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
    • ¥15 模糊pid与pid仿真结果几乎一样
    • ¥15 java的GUI的运用
    • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
    • ¥15 怎么配置广告联盟瀑布流
    • ¥15 Rstudio 保存代码闪退