STM32 DMA输出到GPIO问题

[复制链接]
5109|6
 楼主| zousong 发表于 2012-8-21 13:02 | 显示全部楼层 |阅读模式
请教各位:
   (1)STM32 内存8Bit的数据,可以通过DMA发送到GPIOB的高4位吗?(8Bit数据仅输出高4位,GPIO其余引脚状态不可改变)如何设置?
   (2)DMA发送数据到GPIOB,刷新率要达到4M,能否实现?
IJK 发表于 2012-8-21 16:18 | 显示全部楼层
印象里无法实现【或者很不好实现】,因为STM32的DMA无法支持bit banding
airwill 发表于 2012-8-21 17:43 | 显示全部楼层
https://bbs.21ic.com/icview-368199-1-1.html
就象上面一帖里所说, 直接是不行了. 你可以先把数据变换一下, 再送给 DMA 的缓冲区哪.
airwill 发表于 2012-8-21 17:50 | 显示全部楼层
将 8 位数据变换成32位
u8 var;
u32 dat = (var& 0xF0) +(~var &0xF0)*65536;
将这个值通过 DMA  送 BSRR.
phantomgz 发表于 2012-9-26 21:15 | 显示全部楼层
试了一下, 用 DMA 的 M2M 模式, 直接访问 BRSS, 16~32是复位, 0~15是置位, 刚刚好
phantomgz 发表于 2012-9-26 21:18 | 显示全部楼层
另外, 我是用103VE, DMA的极限应该在7M左右,
keithyx 发表于 2015-5-30 20:28 | 显示全部楼层
phantomgz 发表于 2012-9-26 21:18
另外, 我是用103VE, DMA的极限应该在7M左右,

请问你的 dma传数据到GPIO 弄好没 我也在研究这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

15

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部