串口通信中数组和位操作(20分)

  • 主题发起人 主题发起人 weixj2003ld
  • 开始时间 开始时间
W

weixj2003ld

Unregistered / Unconfirmed
GUEST, unregistred user!
在做串口通信程序时,我定义了数组:
Sendbuf,RecieveBuf:arrray[1..32] of byte
将整型x和字符串str及实型y要写入Sendbuf数组,怎样操作?
谢谢!
 
那你一个字节一个字节写呀
 
{将串口缓存中的数据转移到接收数组中去}
move(buffer^,pchar(@RecieveBuf)^,bufferlength);
 
我的问题是这样:
Sendbuf[1]:表示购买电量的低字节
Sendbuf[2]:表示购买电量的高字节
Sendbuf[3]:表示用户编号的低字节
Sendbuf[4]:表示用户编号的高字节
怎样将用户所购买电量(实型y)用Sendbuf[1]和Sendbuf[2]表示?
怎样将用户编号(整型x)用Sendbuf[3]和Sendbuf[4]表示?
 
有会楼主都说了一个字节一个字节的给.如:
Sendbuf[1]:=表示购买电量的低字节
Sendbuf[2]:=表示购买电量的高字节
Sendbuf[3]:=表示用户编号的低字节
Sendbuf[4]:=表示用户编号的高字节
 
如果是这样的话,你可以和做单片机的工程师定义一个规约啊。比如要购电的表字为10.05个,那么你可以将10.5先转化我字符串类型,将0.5封装为一个字节在Sendbuf[1]中然后10又可以封装为一个字节在Sendbuf[2]中。单片机收到这样的数据桢后解析时,就把Sendbuf[1]中的数乘以0.1然后把Sendbuf[2]中的数乘以1,这样的权值不就可以了吗。
这样做的关键在于后端的程序和前端的单片机程序要遵守同样的规约。

呵呵,我说清楚了吗?
 
多人接受答案了。
 
后退
顶部