急急急!一个串口通讯接收数据的小问题,多谢多谢!

wxj797 2003-11-20 11:42:50

我要发送float型数据,一次发送8个数据,程序如下:
//准备需要发送的数据,放在send[8]中

float send[8];
send[0]=2;
send[1]=5;
send[2]=1;
send[3]=0;
send[4]=0;
send[5]=452;
send[6]=0;
send[7]=1;

int Count=8;
//CDWordArray array;
CByteArray array;
array.RemoveAll();
array.SetSize(Count);
for(int i=0;i<Count;i++)
array.SetAt(i, send[i]);
m_Com.SetOutput(COleVariant(array));//发送数据
????问题:用CByteArray array时,将float型数据send[i]存到array中时,如果send[i]超过一个字节,会丢失数据,我该如何发送float send[8]呢????
...全文
54 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ltaotao007 2003-11-26
  • 打赏
  • 举报
回复
那里有VC++控制串口的资料.
jacky123789 2003-11-26
  • 打赏
  • 举报
回复
同意zhangnanonnet(sorin) 的做法,应该可行,试试吧!
duyhui 2003-11-25
  • 打赏
  • 举报
回复
将float型数组存到char型数组里,然后转化成CString类型。
发送就可以了,接收端再转换回来
duyhui 2003-11-25
  • 打赏
  • 举报
回复
将float型数组存到char型数组里,然后转化成CString类型。
发送就可以了,接收端再转换回来
zhangnanonnet 2003-11-20
  • 打赏
  • 举报
回复
还有我建议你用createfile,writefile,readfile等来处理串口,这样,更灵活一些
wxj797 2003-11-20
  • 打赏
  • 举报
回复
我知道该怎么办了
先用memcpy()函数将float型数组存到char型数组里,就可以了!
wxj797 2003-11-20
  • 打赏
  • 举报
回复
zhangnanonnet(sorin):谢谢你
DWORD变量是无符号型的阿;我要发送的数据是float型的;怎么将它放到COleVariant变量中而又不丢失数据呢?
zhangnanonnet 2003-11-20
  • 打赏
  • 举报
回复
超过一个字节肯定不行了,不是串口的问题。是字节溢出了啊,你可以用DWORD之类的变量来定义send[8]就可以了阿

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧