请问如何用串口发送一个结构?

aerol 2005-08-24 03:22:22
串口发送都是按字节发送的,可是如果有一个结构要发送,如何实现?
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netsys2 2005-08-26
  • 打赏
  • 举报
回复
你直接在论坛以“结构”为关键字搜索吧,

有非常多的问题是询问发送结构的。
elfnet 2005-08-26
  • 打赏
  • 举报
回复
转换:
struct abc abc1;
...
char * p=(char *)&abc1;
...
aasxn 2005-08-26
  • 打赏
  • 举报
回复
网络和串口发送东西都是通过“协议”即有顺序和意义的字节数组来通信的
leonatcs 2005-08-26
  • 打赏
  • 举报
回复
串口在通信的时候是没有“结构”这一概念的,都以bytes对待,对于收方,只有在收到一段bytes以后把它们看作是结构。
假如你的结构是LinkList型,
LinkList B;
void *p;
p = &B;
发送p[0]、p[1]直到p[sizeof(LinkList)-1]这一段bytes就可以了。
liu_jun_ivan 2005-08-26
  • 打赏
  • 举报
回复
struct SDemo
{
....
};

发送Demo:
SDemo Demo;
int nSize = sizeof(Demo);
char *p = (char *)&Demo;
for (int i = 0; i < nSize; ++ i)
{
发送字节数据*(p + i);
}

接收Demo:
SDemo Demo;
int nSize = sizeof(Demo);
char *p = (char *)&Demo;
for (int i = 0; i < nSize; ++ i)
{
*(p + i)=接收到的字节数据;
}
aerol 2005-08-24
  • 打赏
  • 举报
回复
能具体点吗
如果用char数组发送,要强制类型转换把结构转换成char?

序列化发送,反序列接收又是什么意思呢
我不懂电脑 2005-08-24
  • 打赏
  • 举报
回复
序列化发送,反序列接收。
cczlp 2005-08-24
  • 打赏
  • 举报
回复
当成char数组发送就行了

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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