我正在使用STM32F302 QFN32,不幸的是,它只有一个ADC模块。一个通道在一个周期内必须有500个采样点,并且它必须与PWM同步(使用定时器思考,并且此I/O将在回调中切换,因为在读取其ADC通道时,我必须知道I/O是否高电平或低,所以根据这个值,将决定价值)。此外,还有4个通道需要读取(更多采样不需要像以前那样,8或16个采样就足够了)。但是,它只有一个ADC模块。因此,我可以这样做吗?如果是,如何?谢谢。STM32F302 Adc用于不同大小和通道的DMA
回答
ST ADC有两种转换模式。定期和注入。
普通模式就像所有的ADC一样。您可以通过软件或触发器(timer/gpio)启动它,并执行一个或一系列转换。结果写入一个通用寄存器,即DMA处理。
注入模式是一种高优先级抢占转换。一旦通过软件或触发启动注入的转换序列。 ADC注入常规转换之间的转换。作为更高优先级的一个。结果存储在中断的注入结果通道中的一个中。
只有普通模式支持DMA。有关更多信息,请参阅AN4195。
我建议你用一个定时器为你的快速通道触发一个规则的序列,用循环DMA设置来移动数据。并使用另一个计时器触发注入序列。最多有4个注入通道,所以你很幸运!
很明显,您可以通过其他方式来做到这一点。注射速度快,经常慢。但是您需要与注入的开始触发器同步的另一个计时器才能让DMA移动数据。
也就是说,如果你的采样率不允许立即处理。否则,你可以使用ISR。
我可以同时使用这些模式吗?所以,虽然它使用DMA的常规模式,但对于其他通道,我可以同时使用注入模式吗?可能吗?或者在其他人完成之前没有人开始转换? –
@GokhanSahin是的,这些模式旨在一起使用。两种模式都会启动完整的转换,因此我认为您可以使用相同的通道进行注入和定期。您必须检查手册中的脚注。 – Jeroen3
谢谢你Jeroen3。它同时适用于正常和注入模式。 –
- 1. STM32F4 DMA不控制ADC通道
- 2. 在双常规同时模式下使用两个DMA ADC通道STM32
- 3. dsPIC33EP512MU810 ADC通道到引脚的映射
- 4. 使stm32 ADC DMA工作缺少什么? Transfer Compete不会发生
- 5. 使用Notification类和NotificatioinCompat.Builder类的通知图标大小不同
- 6. 用于TextView和按钮但大小不同的背景
- 7. ADC的值永远不会低于1mw
- 8. 不同大小的熊猫群组的大小和平均值?
- 9. Photoshop px大小不同于CSS px大小
- 10. xhtml2pdf和django,不同的文档大小
- 11. window.open不同大小的IE和FF
- 12. ABAddressBookCopyArrayOfAllPeople和ABAddressBookGetPersonCount返回不同的大小
- 13. 从ATMEGA128上的多个ADC通道读取
- 14. 使用1方法用于不同大小的多个阵列
- 15. 使用mathf.clamp作为用于不同大小的屏幕
- 16. DMA-Engine和DMA-Controller有什么区别?
- 17. Debug.WriteLine不同的“通道”?
- 18. 最大的连片子阵的总和大小不大于k
- 19. SQL使用“小于或等于”和“不大于”
- 20. 不同大小的ios uisegmentedcontrol
- 21. 不同大小的排列
- 22. 用于x1,x2和x3的UIImageView大小
- 23. 不同的布局和字体大小在不同浏览器
- 24. 用于不同手机的Ios图像大小指南
- 25. 更改用于不同工具栏大小的NSToolbar图标
- 26. 通过PHP压缩具有不同的大小,通过winrar
- 27. 使用HTML5或CSS3基于img大小和屏幕大小加载不同的图像
- 28. Firefox 19中的CSS按钮大小不同(适用于Chrome和IE9)
- 29. 用不同大小的netbeans创建UI!
- 30. 使用不同大小的群集群
_“我正在使用STM32F302 QFN32”_ - 非常有趣,因为这个微型不是在QFN32的情况下制造的 –
我提到UFQFPN就是它的情况。 –
ST在完整的订单代码中有包装,您能给出完整的订单代码吗? STM32F302 ** ** XXX?我猜测一个x6x或x8x? – Jeroen3