• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32用串口怎么发送结构体

勇哥来巡山 2018-09-25 浏览量:3829
如何用串口发送一个结构体
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 上下位机都声明同一结构体,然后sizeof结构体的大小,一个个字节发送。上位机接收后用u8指针自加一个个字节填进这个结构体对象

    虽然中间会有一些空白的字节白发送了,但能保证准确,不至于要加各种校验位

    当然自己写结构体内部每个成员,利用通讯协议、校核发送也行,就要自己写协议

    • 发布于 2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:23
  • 结构体也是数据,一个字节一个字节发,结构体多长就发送多长
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 将结构体数据按字节发送就可以了
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 按照字节发送即可,道理都是一样的
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口只能发送字节,或者说按字节发送

    接收端也接收的是多个字节,然后按结构体组织进行处理就好,这点有点像强制格式转换。

    接收器接收到一段连续的数据存储到一个连续的空间中,然后以结构体类型强制标识这个区域就可以按结构体去解读啦。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 结构体其实就是一组占用连续空间的数据,实际用起来跟单个变量或者数组都没有区别。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 只能将结构图安字节发送,道理还是一样的
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 一个结构体变量在内存里保存是一段连续的存储空间,所以知道首地址和结构体大小,就是需要发送的数据地址和长度,然后全部发送就可以了。接收数据后再把对应的数据组合起来。
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口传送是一个一个字节数据,或作为二进制传输、或作为字符串发送。

    串口传输模式并不考虑是否结构体发送,这些是你自己考虑的问题。

    因此在发送时应当考虑将结构体数据转换为适当的发送数据。

    接收方按照预先约定再将接收到的数据还原为规定格式。

    这通常是串口发送和接收应考虑的基本原则。

    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 结构体在程序代码上看是个特殊的数据类型,但是在单片机存储起来也是一个字节一个字节,是连续的一段数据。所以发的时候,就一个字节一个字节发出去就行,接收端那边要按照约定的格式还原数据就可以。
    • 发布于2018-09-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口发送的是数据,结构体只是个变量,串口发送它代表的数据就行了,不冲突的!
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 结构体也是按字节进行发送的,也是要按16进制数据进行发送的,可以使用指针的方式
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 按地址发送就可以了,找到结构体首地址
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以将结构体数据拆开,然后打包成数据包格式发送,添加帧头与帧尾。
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 和发送数组是一样的,将结构体转为普通类型然后发送即可
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 结构体是不能直接发送的 只能自己转换成 字节发送 然后组合起来
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以把你的结构体转化成普通的数据类型,然后再进行传输
    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口发送的数据,只是按一位位发出去的,一般一次是8位,因此要发结构体,可以让串口的发送指针指向结构体的第一个字节,然后选定长度发送
    • 发布于2018-10-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 要找到结构体的地址,然后用指针确定地址的方式发送
    • 发布于2018-10-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32用串口怎么发送结构体