找回密码
 立即注册
楼主: tzz1983

4组串口UART使用DMA收发 @32G系列,易用,高效,稳定 !精品实战代码

  [复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-02-06 15:56:27
已绑定手机

0

主题

1

回帖

6

积分

新手上路

积分
6
发表于 2026-2-6 15:56:27 | 显示全部楼层
没有收到完成标志位,怎么解析数据。

点评

串口本身是字节流,没有内置的包边界。常用的区分数据包的方式可以分为以下几类: 1. 基于时间间隔(帧间隔)这是最简单的方法。 2. 带同步头的协议原理:使用特定的同步序列(如0xAA 0x55 0xAA 0x55)作为帧头。 3  详情 回复 发表于 2026-2-7 07:52
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2026-05-20 08:11:47

36

主题

1151

回帖

2891

积分

荣誉版主

积分
2891
发表于 2026-2-7 07:52:28 | 显示全部楼层
dcau*** 发表于 2026-2-6 15:56
没有收到完成标志位,怎么解析数据。

串口本身是字节流,没有内置的包边界。常用的区分数据包的方式可以分为以下几类:
1. 基于时间间隔(帧间隔)这是最简单的方法。
2. 带同步头的协议原理:使用特定的同步序列(如0xAA 0x55 0xAA 0x55)作为帧头。
3. 长度字段法(最常用)在数据包头部包含长度信息。格式:[帧头][长度][数据][校验]
4. 特殊字符分隔,原理:使用特殊字符作为包分隔符(如换行符\n)。

本文中的DMA-USAR是通用的,没用限制用法,适用于各种情形,后续步骤根据自身需求添加比如:
1. 做成 “ 基于时间间隔 ”, 定时调用接收函数查看是否收到数据 -> 判断时间间隔 -> 根据时间间隔组包。
2. 做长度字段法,利用已有的成熟包格式 或 自己定义一个喜欢的任意包格式:[帧头][长度][数据][校验]

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:491
  • 最近打卡:2026-07-04 09:30:11
已绑定手机

6

主题

428

回帖

2183

积分

金牌会员

积分
2183
发表于 2026-5-16 20:50:46 | 显示全部楼层
学习学习
学习
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:491
  • 最近打卡:2026-07-04 09:30:11
已绑定手机

6

主题

428

回帖

2183

积分

金牌会员

积分
2183
发表于 2026-5-19 15:55:39 | 显示全部楼层
LAO*** 发表于 2023-11-30 14:49
两位大师, 帮忙看看, 如何解决不同类型的数据, 统一转换成 long类型.

对 char, int, long, 指针类 p, 都可 ...

很头疼数据类型转换
学习
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2026-07-03 00:53:24
已绑定手机

0

主题

3

回帖

36

积分

新手上路

积分
36
发表于 2026-6-27 21:25:32 | 显示全部楼层
4组串口UART使用DMA收发, 精品实战代码, 易用,高效,稳定 !
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 07:53 , Processed in 0.078442 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表