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

请问DMA串口传输了不正确的长度,然后如何复位从头接收?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-07-12 12:17:45
已绑定手机

40

主题

2104

回帖

7263

积分

论坛元老

积分
7263
发表于 6 天前 | 显示全部楼层
lixian*** 发表于 2025-7-7 12:29
就是意思是有超时处理,但是超时复位不了DMA,功能都正常,就是超时时间到了,DMA复位不了,然后还是一直 ...

"先用例子测试,功能验证正常后再进行修改或者移植",这是最佳的捷径。
之所以这么建议,是因为从你9楼提供的代码截图里面,我依然没看到你使用超时标志进行判断。
例子里面的超时标志是"RX1_TimeOut",连续5ms没收到新的数据,判定一串数据接收完毕
。你好好研究一下例子这个机制是怎么实现的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-07-08 09:40:05
已绑定手机

4

主题

10

回帖

58

积分

注册会员

积分
58
发表于 6 天前 | 显示全部楼层
乘风*** 发表于 2025-7-7 14:08
"先用例子测试,功能验证正常后再进行修改或者移植",这是最佳的捷径。
之所以这么建议,是因为从你9楼提 ...

试过了,只是代码没有贴出来,现在不是超时问题,问题是超时完了需要处理,处理无效的问题,不讲超时了,直接让处理代码运行都无效,这和超时不超时没什么关系,代码原封不对都存在这样的问题,官方的那个9.6的试验箱里的DMA代码也试了,一样的问题,要不然也不会问了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:465
  • 最近打卡:2025-07-12 12:17:45
已绑定手机

40

主题

2104

回帖

7263

积分

论坛元老

积分
7263
发表于 6 天前 | 显示全部楼层
看看例子运行效果确认行不行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:263
  • 最近打卡:2025-07-13 15:31:41
已绑定手机

9

主题

131

回帖

1379

积分

金牌会员

积分
1379
发表于 6 天前 | 显示全部楼层
lixian*** 发表于 2025-7-7 14:46
试过了,只是代码没有贴出来,现在不是超时问题,问题是超时完了需要处理,处理无效的问题,不讲超时了, ...

按照22楼的视频 看来,
应该是在接收超时后再判断数据正确性,
你是不是收了就发啊,感觉还是程序逻辑上问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-07-08 09:40:05
已绑定手机

4

主题

10

回帖

58

积分

注册会员

积分
58
发表于 5 天前 | 显示全部楼层
C_w*** 发表于 2025-7-7 16:25
按照22楼的视频 看来,
应该是在接收超时后再判断数据正确性,
你是不是收了就发啊,感觉还是程序逻辑上 ...

不是,用的芯片不一样,我用的是STC8H4K64TL,直接用那个9.6的程序只有串口3能用(串口2没接,接了串口134),我是按照思路配置了一下串口3不行,然后用的STC8A8K64D4的例程(串口134都能用),然后把9.6代码串口1的搬过来,复位不了,然后我又看手册自己配置也复位不了
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-13 21:28 , Processed in 0.118574 second(s), 77 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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