你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL_UART_Receive_DMA 和 HAL_UART_Transmit_DMA 怎么用 在线等呢.

[复制链接]
Nick20150702 提问时间:2015-7-2 12:18 /
阅读主题, 点击返回1楼
收藏 1 评论30 发布时间:2015-7-2 12:18
30个回答
creep 回答时间:2015-7-2 17:49:09
Nick20150702 发表于 2015-7-2 17:45
哎,可是还必须用这个.  所以是不是只能用我上边的做法啊?

为什么必须要这个,你必须要用DMA接收吗?
Nick20150702 回答时间:2015-7-2 17:52:51
creep 发表于 2015-7-2 17:49
为什么必须要这个,你必须要用DMA接收吗?

对啊, 要用DMA缓存..
creep 回答时间:2015-7-2 17:59:22
Nick20150702 发表于 2015-7-2 17:52
对啊, 要用DMA缓存..

那就使用那个DMA接收模式的函数吧,然后打开DMA中断,传送完成后在中国暖中处理数据。
Nick20150702 回答时间:2015-7-2 18:04:47
creep 发表于 2015-7-2 17:59
那就使用那个DMA接收模式的函数吧,然后打开DMA中断,传送完成后在中国暖中处理数据。 ...

就是说 我要一直调用这个HAL_UART_Receive_DMA, 然后在callback里 处理数据..哎..
creep 回答时间:2015-7-2 18:09:21
Nick20150702 发表于 2015-7-2 18:04
就是说 我要一直调用这个HAL_UART_Receive_DMA, 然后在callback里 处理数据..哎..

这个函数调用一次就可以了,接收到你设定的个数的数据后会进入中断函数。不用一直调用。你进到函数里面看看那它的处理就明白了。
Nick20150702 回答时间:2015-7-2 18:11:50
creep 发表于 2015-7-2 18:09
这个函数调用一次就可以了,接收到你设定的个数的数据后会进入中断函数。不用一直调用。你进到函数里面看 ...

那我如果RX一直 有数据送来,还只调用一次吗?
creep 回答时间:2015-7-2 18:35:03
Nick20150702 发表于 2015-7-2 18:11
那我如果RX一直 有数据送来,还只调用一次吗?

理论上你可以设置一个很大的数组用于一直接收发送来的数据。
Nick20150702 回答时间:2015-7-2 18:39:56
creep 发表于 2015-7-2 18:35
理论上你可以设置一个很大的数组用于一直接收发送来的数据。

对呀,确实有一个很大的buffer 接受数据, 可是我不确定HAL_UART_Receive_DMA  怎么用呢..
chifen 回答时间:2015-7-2 19:48:31
路过



watershade 回答时间:2015-7-2 22:11:28
DMA也使用IT的回掉,不过你需要配置好DMA中断。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版