打印
[技术问答]

FA40,有3个ADC,2个ADC序列,如何做3个序列?

[复制链接]
767|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
newiot|  楼主 | 2024-4-5 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FA40,有3个ADC,2个ADC序列,如何做3个序列?
假设ADC1,跟随timer4单元1的中断来转换,用5路ADC(触发一次,这5路ADC一个接一个转换一次),
假设ADC2,跟随timer4单元2的中断来转换,用3路ADC(触发一次,这3路ADC一个接一个转换一次),,
假设ADC3,跟随timer6单元1的中断来转换,用6路ADC(触发一次,这6路ADC一个接一个转换一次),,

以上3个中断,频率不同。
只有2路顺列,如何做成这样的。


使用特权

评论回复
沙发
Betty1299| | 2024-4-17 11:34 | 只看该作者
这只能考虑中断优先级了吧,你得把优先级设置好

使用特权

评论回复
板凳
B1lanche| | 2024-4-17 12:36 | 只看该作者
你想要做序列的话,比如ADC1的优先级比ADC2和3高,并且定时器的配置也是一样估计就可以

使用特权

评论回复
地板
Carmen7| | 2024-4-17 13:39 | 只看该作者
没这么做过,一般情况ADC1不应该也有8路以上么,是因为频率不一样,导致区分出来的ADC1和2么

使用特权

评论回复
5
Charlotte夏| | 2024-4-17 14:50 | 只看该作者
你想要实现三个ADC序列,每个序列都有不同的触发条件和转换通道。你可以使用DMA(直接存储器访问)来实现这个功能

使用特权

评论回复
6
Emily999| | 2024-4-17 16:02 | 只看该作者
正常来说,DMA可以在ADC转换完成后自动将数据传输到指定的内存位置,这样可以减少CPU的负担,同时可以实现多个ADC序列的同时转换

使用特权

评论回复
7
Estelle1999| | 2024-4-17 17:08 | 只看该作者
在每个ADC转换完成后,DMA会将数据传输到内存中的指定位置,你可以在DMA传输完成中断中处理这些数据

使用特权

评论回复
8
Alina艾| | 2024-4-17 18:20 | 只看该作者
用缓冲区的方式来整理这些数据是不是就可以了

使用特权

评论回复
9
Candic12e| | 2024-4-18 07:10 | 只看该作者
这种ADC的中断要配置好,然后用做好的buf1,buf2和3来组成数据呗

使用特权

评论回复
10
alxd| | 2024-4-18 09:24 | 只看该作者
一种方法是使用多路复用器(Mux)来实现多个ADC序列的转换

使用特权

评论回复
11
Belle1257| | 2024-4-18 11:02 | 只看该作者
你可以使用一个Mux来选择不同的ADC输入通道,然后通过编程控制Mux的选择,从而实现多个ADC序列的转换。这种方法可以在硬件层面上实现,不需要使用DMA,但需要编写更多的控制逻辑来管理Mux的选择和ADC转换的顺序。而且要看你的芯片是否支持

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

79

帖子

1

粉丝