打印
[技术问答]

求助 华大 HC32L130 串口DMA接收不定长数据的方法

[复制链接]
3098|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shibing2005|  楼主 | 2020-6-5 12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在写一个关于华大单片机的串口接收程序,想节省CPU的开销所以想使用DMA来做串口的接收发送数据,发数据知道长度,但是接收数据不知道长度,有哪位大神用过这方面的东西,求指教 !!!

使用特权

评论回复
沙发
h32446975| | 2020-6-29 23:50 | 只看该作者
460系列,接收数据使用TIM0的timeout功能做帧超时。

使用特权

评论回复
板凳
观海| | 2020-7-7 16:08 | 只看该作者
是不是可以用队列的模式接收呢

使用特权

评论回复
地板
guanjiaer| | 2020-7-7 16:08 | 只看该作者
用指针因该可以

使用特权

评论回复
5
heimaojingzhang| | 2020-7-7 16:08 | 只看该作者
自己制定一个通讯协议

使用特权

评论回复
6
keaibukelian| | 2020-7-7 16:09 | 只看该作者
再简单我也要定好协议

使用特权

评论回复
7
labasi| | 2020-7-7 16:09 | 只看该作者
楼主问题解决了吗

使用特权

评论回复
8
迷惘186| | 2020-9-25 13:14 | 只看该作者
这个芯片 没有STM32 的串口空闲中断   STM32 用DMA 加 空闲中断可以接受不定长数据

这个只能用定时器 定时5ms  开启串口接收中断,接收一个 刷新一次定时器, 定时器超时了 就是接收完了

使用特权

评论回复
9
詹求实| | 2020-9-26 22:40 | 只看该作者
迷惘186 发表于 2020-9-25 13:14
这个芯片 没有STM32 的串口空闲中断   STM32 用DMA 加 空闲中断可以接受不定长数据

这个只能用定时器 定时 ...

非常同意你的做法,只有串口空闲中断才可以接受不定长的数据。

使用特权

评论回复
10
martinhu| | 2020-9-27 09:01 | 只看该作者
迷惘186 发表于 2020-9-25 13:14
这个芯片 没有STM32 的串口空闲中断   STM32 用DMA 加 空闲中断可以接受不定长数据

这个只能用定时器 定时 ...

用DMA配合ADT 可以做类似的空闲中断,只是F030在接收的时候需要两路DMA配合,不需要开启接收中断。

使用特权

评论回复
11
xing650721| | 2020-9-27 17:44 | 只看该作者
弄个接收缓冲区

使用特权

评论回复
12
shibing2005|  楼主 | 2020-11-16 18:23 | 只看该作者
给大家说一下我最后是用的方法,开个定时器定时去查询寄存器DMAC_CONFA0 中的TC值  通过这个来判断是否接收到数据,以及接收到的数据长度。

使用特权

评论回复
13
windyfeel131| | 2021-5-31 17:01 | 只看该作者
可以上个代码参考一下吗?提高一下小白代码水平,造福中国人

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝