[PIC®/AVR®/dsPIC®产品] ADC的结果可以通过DMA传递给PWM吗?

[复制链接]
2205|17
 楼主| xixi2017 发表于 2024-10-18 21:37 | 显示全部楼层 |阅读模式
AD, ADC, DM, DMA, PWM
可以利用DMA来传递ADC的值到PWM的占空比吗?如果这样做,就可以实现简单的电位器调节PWM。有参靠示例吗?
huahuagg 发表于 2024-10-20 17:10 | 显示全部楼层
应该是可以的,你在MCC里配置一下看看你选的型号可以不。
wutaosamuel 发表于 2024-10-21 10:08 | 显示全部楼层
可以是可以,问题是ADC出来的值如果不处理,直接给PWM占空比的话,这个PWM波可能不是你需要的
yangxiaor520 发表于 2024-10-22 07:53 来自手机 | 显示全部楼层
可以啊,把ADC的值量化为PWM的值。
呐咯密密 发表于 2024-10-22 10:34 | 显示全部楼层
这是可以的
lcczg 发表于 2024-10-22 15:18 | 显示全部楼层
应该可以,相当于从寄存器到寄存器的数据传输。
suiziq 发表于 2024-11-18 20:24 | 显示全部楼层
是的,ADC(模数转换器)的结果可以通过DMA(直接内存访问)传递给PWM(脉宽调制器)。这种技术通常用于需要实时控制的应用中,例如电机控制、LED调光等。通过使用DMA,可以减少CPU的负担,提高系统的实时性能。

canfeil 发表于 2024-11-20 08:48 | 显示全部楼层
ADC采集数据:ADC将模拟信号转换为数字信号。DMA传输数据:DMA将ADC转换后的数据直接传输到内存中的指定位置,而不需要CPU的干预。

eleg34ance 发表于 2024-11-20 09:28 | 显示全部楼层
PWM输出控制:PWM模块从内存中读取数据,并根据这些数据调整PWM的占空比。

ewyu 发表于 2024-11-20 10:20 | 显示全部楼层
首先,配置ADC模块以采集模拟信号,并设置DMA请求。配置DMA以将ADC转换后的数据传输到内存中的指定位置。

gra22ce 发表于 2024-11-20 11:11 | 显示全部楼层
配置PWM模块以从内存中读取数据,并根据这些数据调整PWM的占空比。

hight1light 发表于 2024-11-20 12:12 | 显示全部楼层
在主循环中,根据ADC转换后的数据更新PWM的占空比。

miltk 发表于 2024-11-20 14:14 | 显示全部楼层
数据同步,确保ADC转换后的数据能够及时更新到PWM模块,避免数据不同步的问题。

nqty 发表于 2024-11-20 15:31 | 显示全部楼层
缓冲区大小,根据实际需求设置DMA缓冲区的大小,避免数据溢出或丢失。

nuan11nuan 发表于 2024-11-20 16:31 | 显示全部楼层
中断处理,如果需要更高的实时性,可以考虑使用中断来处理DMA传输完成的事件。

tiakon 发表于 2024-11-20 18:36 | 显示全部楼层
通过使用DMA,可以将ADC的结果直接传递给PWM,从而实现实时控制。这种技术可以显著提高系统的实时性能,减少CPU的负担。
玛尼玛尼哄 发表于 2024-11-25 21:09 | 显示全部楼层
如果是MCC的话,好像是可以配置的。
小灵通2018 发表于 2024-11-26 21:39 | 显示全部楼层
所有外设都可以在DMA上传输。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

2034

帖子

2

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