硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1228|回复: 4
收起左侧

[有问必答] 求助,G431的DAC+DMA简单例程搞不定了。

[复制链接]

354

主题

2162

回帖

3229

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3229
发表于 2023-11-14 09:47:40 | 显示全部楼层 |阅读模式
用cubemx生成了DAC+DMA的例程,stm32G431怎么搞都没有输出。。。
百度也没有找到合适的例子对比。


请大侠帮忙看看。
G431test.zip (865.48 KB, 下载次数: 4)




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2023-11-14 10:06:03 | 显示全部楼层
回复

使用道具 举报

354

主题

2162

回帖

3229

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3229
 楼主| 发表于 2023-11-14 11:07:42 | 显示全部楼层
本帖最后由 caicaptain2 于 2023-11-14 11:27 编辑

感谢感谢!
经过对比,原来DAC的DMA这个设置必须是WORD !!! 可是DAC明明是12bit的呢。

hdma_dac1_ch2.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;   //halfword改为word

把这个改了就好了。
以前,ADC什么的,外设地址的数据都是halfword,没想到没想到啊,DAC居然需要设定为word格式。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2023-11-14 14:55:36 | 显示全部楼层
caicaptain2 发表于 2023-11-14 11:07
感谢感谢!
经过对比,原来DAC的DMA这个设置必须是WORD !!! 可是DAC明明是12bit的呢。

谢谢告知最终原因。
回复

使用道具 举报

2

主题

13

回帖

19

积分

新手上路

积分
19
发表于 2025-4-10 16:12:40 | 显示全部楼层
我今天遇到了相同的问题,但是现象略有不同,我是需要将我处理后的音频数据通过dac输出,因为我配置的时候cubemx默认dma的PeriphDataAlignment是byte,这个时候dac的输出很有意思,是一个脉宽不变,但一直在跳动的方波
微信图片_20250410155352.png
然后我把PeriphDataAlignment配置为halfword之后是正常输出的音频信号,配置成word之后是一个稳定的方波,但是会随我输入的信号的变化而变化
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 20:16 , Processed in 0.290035 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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