硬汉嵌入式论坛

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

[DAC] DAC+TIM6+DMA问题

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2022-5-5 11:43:06 | 显示全部楼层 |阅读模式
为什么我用        HAL_DAC_Start_DMA(&hdac1,DAC_CHANNEL_1,(uint32_t*)g_Wave1,128,DAC_ALIGN_12B_R);不能输出波形,而使用        HAL_DAC_Start_DMA(&hdac1,DAC_CHANNEL_1,(uint32_t*)g_SineWave128,128,DAC_ALIGN_12B_R);却可以输出波形

其中g_SineWave128是这样的
image.png


g_Wave数组是这样的

image.png
image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2022-5-5 13:51:18 | 显示全部楼层
调用函数HAL_DAC_Start_DMA前,先调用下SCB_CleanInvalidateDCache试试
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2022-5-5 17:49:03 | 显示全部楼层
eric2013 发表于 2022-5-5 13:51
调用函数HAL_DAC_Start_DMA前,先调用下SCB_CleanInvalidateDCache试试

已经解决了,是数组定义的位置DMA访问不到,用__attribute__定义到可访问的地址就好了!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2022-5-6 02:11:06 | 显示全部楼层
1393068761 发表于 2022-5-5 17:49
已经解决了,是数组定义的位置DMA访问不到,用__attribute__定义到可访问的地址就好了!

好的,这个确实也是一个容易出问题的地方。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 07:10 , Processed in 0.165225 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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