求助串口通信接收int型数据的问题

bluesmile2012 2017-11-21 07:55:55
我写串口发送和接收int类型的数据,百度了很久,用共同体来实现,发送是成功了的,但是为什么接收就不正确呢,请求大家帮忙看看是哪里出了问题呢。这是发送代码,是成功的,
value = _ttoi(m_send);
union result
{
int d;
byte data[2];
}r1;
r1.d = value;
*ligtemp = r1.data[0];
*(ligtemp + 1) = r1.data[1];

但是接收的代码,就不对了,是哪里出错了呢?为什么数据没有被赋值呢?
union receive
{
int d;
byte data[2];
}r1;
r1.data[0] = *str;
r1.data[1] = *(str + 1);
value = r1.d;
temp.Format(_T("%d"),value);
GetDlgItem(IDC_RECV)->SetWindowText(temp);

其中串口接收的是unsigned char型数组,我直接赋给了共同体里的byte。
...全文
395 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesmile2012 2017-11-21
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:
一个int有4字节,你按byte发送只传了2个字节
谢谢,是我失误了,多谢!
bluesmile2012 2017-11-21
  • 打赏
  • 举报
回复
谢谢,是我失误了。。。
paschen 版主 2017-11-21
  • 打赏
  • 举报
回复
一个int有4字节,你按byte发送只传了2个字节

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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