这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » EVADC多个Queue采样无法实现怎么解决?

共2条 1/1 1 跳转至

EVADC多个Queue采样无法实现怎么解决?

工程师
2024-01-29 18:29:18     打赏

我在配置EVADC的时候,在我使用软件触发的时候,如:
IfxEvadc_Adc_startQueue( adcGroup[3], IfxEvadc_RequestSource_queue0);
IfxEvadc_Adc_startQueue( adcGroup[3], IfxEvadc_RequestSource_queue1);
只有Queue0能够正常的进行转换,经过查阅手册发现是GxQxRx.EXTR 为0导致队列选用Refill之后不需要软件触发就能自己转换,但是我将它设置为1以后,调用一次
IfxEvadc_Adc_startQueue( adcGroup[3], IfxEvadc_RequestSource_queue0);以后就会GxQxRx.EXTR自动变为0,导致无法使用同一个EVADC组的多个Queue来转换通道,而且使采样软件触发不可控,请问一下这种情况应该如何解决呢




关键词: EVADC     Queue     采样    

助工
2024-01-29 18:29:46     打赏
2楼

根据手册的说明,当GxQxRx.EXTR设置为0时,队列在完成转换之后将自动进行Refill,这意味着它不需要软件触发进行转换。当您将其设置为1时,它会自动变为0,因此无法再次使用软件触发。

为了解决这个问题,您可以尝试以下方法:

1. 使用不同的EVADC组:如果您的应用程序需要同时转换多个通道,并且无法使用多个Queue来实现,您可以考虑使用不同的EVADC组。每个EVADC组都有自己独立的Queue和相关寄存器,因此您可以使用多个EVADC组来同时进行转换。

2. 使用软件触发模式:如果您必须使用相同的EVADC组,并且需要多个Queue进行转换通道,您可以考虑使用软件触发模式。在软件触发模式下,您可以手动控制每个队列何时开始转换。使用IfxEvadc_Adc_startQueue函数启动每个队列的转换,确保在开始一个队列之前等待前一个队列的转换完成。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]