FA40,有3个ADC,2个ADC序列,如何做3个序列?
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路顺列,如何做成这样的。
这只能考虑中断优先级了吧,你得把优先级设置好 你想要做序列的话,比如ADC1的优先级比ADC2和3高,并且定时器的配置也是一样估计就可以 没这么做过,一般情况ADC1不应该也有8路以上么,是因为频率不一样,导致区分出来的ADC1和2么 你想要实现三个ADC序列,每个序列都有不同的触发条件和转换通道。你可以使用DMA(直接存储器访问)来实现这个功能 正常来说,DMA可以在ADC转换完成后自动将数据传输到指定的内存位置,这样可以减少CPU的负担,同时可以实现多个ADC序列的同时转换 在每个ADC转换完成后,DMA会将数据传输到内存中的指定位置,你可以在DMA传输完成中断中处理这些数据 用缓冲区的方式来整理这些数据是不是就可以了 这种ADC的中断要配置好,然后用做好的buf1,buf2和3来组成数据呗 一种方法是使用多路复用器(Mux)来实现多个ADC序列的转换 你可以使用一个Mux来选择不同的ADC输入通道,然后通过编程控制Mux的选择,从而实现多个ADC序列的转换。这种方法可以在硬件层面上实现,不需要使用DMA,但需要编写更多的控制逻辑来管理Mux的选择和ADC转换的顺序。而且要看你的芯片是否支持
页:
[1]