ST意法半导体
登录
直播中
蔡鼎瑾
8年用户
1055经验值
私信
关注
[问答]
带DMA的STM32H723ZG模数转换器,数据宽度为什么要设置成32位?
开启该帖子的消息推送
寄存器
我正在使用
STM32
H723ZG MCU,并希望通过 DMA 使用 ADC 扫描转换。我可以实现我想要的,只有一件事我不完全理解与之相关。
我正在使用最大分辨率为 12 位的 ADC3。根据MCU的参考手册,ADC转换后的数据存放在一个16位的寄存器中。
当我配置 DMA 时,我必须选择 Word 作为数据宽度。Word在这里表示32位。
我的问题是:为什么?如果ADC转换结果存储在16位寄存器中,为什么我必须将DMA的数据宽度设置为32位?
回帖
(1)
梅宁琛
2022-12-5 16:23:38
STM32是32位架构,也就是说核心、总线和内存宽度都是32位。
关于您的固件,您应该能够从 ADC3 以 2 字节大小(半字)发出 DMA 请求
我可以建议您查看以下 HAL 库示例:
STM32CubeRepositorySTM32Cube_FW_H7_V1.10.0ProjectsSTM32H735G-DKExamplesADC_DMA_Transfer
您需要将您的固件与 ADC 和 DMA 半字配置进行比较,并确保您的 ADC 转换表声明如下,并在 SRAM 中正确对齐。
/* Variable containing ADC conversions data */
ALIGN_32BYTES (static uint16_t aADCxConvertedData[ADC_CONVERTED_DATA_BUFFER_SIZE]);
STM32是32位架构,也就是说核心、总线和内存宽度都是32位。
关于您的固件,您应该能够从 ADC3 以 2 字节大小(半字)发出 DMA 请求
我可以建议您查看以下 HAL 库示例:
STM32CubeRepositorySTM32Cube_FW_H7_V1.10.0ProjectsSTM32H735G-DKExamplesADC_DMA_Transfer
您需要将您的固件与 ADC 和 DMA 半字配置进行比较,并确保您的 ADC 转换表声明如下,并在 SRAM 中正确对齐。
/* Variable containing ADC conversions data */
ALIGN_32BYTES (static uint16_t aADCxConvertedData[ADC_CONVERTED_DATA_BUFFER_SIZE]);
举报
更多回帖
rotate(-90deg);
回复
相关问答
寄存器
什么是
模数转换器
?
2022-01-24
1868
什么是光学
模数转换器
?原理是什么?有哪些技术指标?
2021-04-20
1499
STM32
的ADC
模数转换器
有哪几种工作模式及应用呢
2021-11-15
4938
如何正确的使用
STM32H
7上的ADC
模数转换器
2021-09-27
7986
模数转换器
(ADC)的配置有哪些流程?
2021-07-14
2532
如何利用
STM32H723ZG
的LPTIM1模块产生1ms的中断呢
2022-12-26
359
请问如何提高嵌入式
模数转换器
的精度?
2021-04-21
1631
如何使用x-cube-azrtos-
h
7连接到Azure IoT中心?
2022-12-26
401
STM32H723ZG
TIM23 PWM不能中心对齐是什么原因?
2023-08-07
279
谁来讲解一下高级动态性能
模数转换器
是什么?
2021-04-12
1155
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分