完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我尝试使用 STM32CubeMX 在 DAC 章节的“精通 STM32”中设置第二个示例。总的来说,我在 DMA 方面也有些挣扎。第一个(非 DMA)示例在使 LED 呼吸方面似乎对我来说效果很好。然后我修改了 STM32CubeMX 项目以尝试使用 DMA,但卡住了。我希望我错过了一些简单的事情(我确实启动了计时器......)。
我已经覆盖了 DAC1_OUT_2 的 PA5 引脚。 我使用了 tiM6,它以 80 MHz 的频率连接到 APB1(我假设)。 伪代码-y 设置以便于阅读? TIM6.预分频器 = 8192 - 1 TIM6.CounterMode = 向上 TIM6.CounterPeriod = 8192 - 1 TIM6.Auto-ReloadPreload = 禁用 TIM6.EventTriggerSelection = 更新事件 我还使用“ADD”按钮为 TIM6 设置了 DMA。我将其设置为循环,外围设备不递增,内存 *is* 递增,传输是半字到半字,并且是 DMA1_Channel3。 对于 DAC1,我已将通道 1 设置为禁用,通道 2 仅连接到外部引脚(PA5,它连接到板载 LED)。 DAC1.Out2.OutputBuffer = 启用 DAC1.Out2.Trigger = 定时器 6 触发输出事件 DAC1.Out2.WaveGenerationMode = 禁用 DAC1.Out2.UserTrimming = 工厂 DAC1.Out2.SampleAndHold = 禁用 我写的唯一 C 代码是在 main 中,所以我把它放在这里,它都在无限循环之前。
|
|
相关推荐
1个回答
|
|
我想通了,这是我的愚蠢行为。当我在STM32CubeMX中配置项目时,我为TIM6配置了DMA,而不是为DAC配置了DMA。我不完全理解 STM32CubeMX 在这里的选择,但我的设置是 TIM6->DMA 设置->添加->TIM6_UP。这给了我 DMA1_Channel3。 当我删除该 DMA 设置并转到 DAC1->DMA 设置->添加->DAC_CH2 时,它设置了 DMA1_Channel4。 所以我看到的“DMA 错误”是因为 DAC DMA 设置不正确。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2642 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3611 浏览 6 评论
5989 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:14 , Processed in 1.173170 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号