ADC driver 项目总结

项目场景:

目前经过了一个半月,ADC的项目也已经告一段落了,后面还会接触这一方面,所以做一个阶段性总结,来回顾一下,后面用到的话也可以回顾。

整个一个DCU框图如下


问题描述

1.在ADC中测试代码无法去进行测试,写入的数据无法readgroup出来
APP 中接收数据代码: 

https://blog.csdn.net/qq_44775824/article/details/125601486?spm=1001.2014.3001.5502

2.在配置EB的时候勾选了这个选项,导致后续的ADC Group直接报错。

3.当在AdcGroupTriggSrc 中勾选ADC_TRIGG_SRC_HW以后,再对AdcGroupConversionMode进行ADC_CONV_MODE_ONESHOT/ADC_CONV_MODE_CONTINUOUS的切换,当在HW的条件下切换成ADC_CONV_MODE_CONTINUOUS会报错。

原因分析:

AdcNotification is the callback function for this group.
Note:
This parameter can be used when a configuration parameter AdcInterruptMode is enabled.
Otherwise, this parameter is disabled.
2.

Determines, if SARMUX1 (SARMUX of hardware unit of ADC_SAR_0_1) is connected tohardware unit of ADC_SAR_0_0.

The ADC driver provides the AdcSarMux1ConnectToAdc0 , AdcSarMux2ConnectToAdc0 , and
AdcSarMux3ConnectToAdc0 configuration parameters to support this use case.
3.

在文档SWS ADC Driver 里面:10 Configuration specification

AdcGroupTriggSrc: Continuous conversion mode only available for software triggered groups.(from On page 120)


解决方案:

这个是勾选了AdcInterruptMode后lrq的代码,取消勾选的话因为没有回调函数,所以就无法去调用ADC的vector和channel。

2.ADC->AdcConfigset->AdcHwunit->AdcHwunit_0->AdcSarMux1ConnectToAdc0(取消勾选)

ADC->AdcConfigset->AdcHwunit->AdcHwunit_0->AdcSarMux2ConnectToAdc0(取消勾选)

ADC->AdcConfigset->AdcHwunit->AdcHwunit_1->AdcSarMux1ConnectToAdc0(取消勾选)

ADC->AdcConfigset->AdcHwunit->AdcHwunit_1->AdcSarMux2ConnectToAdc0(取消勾选)

ADC->AdcConfigset->AdcHwunit->AdcHwunit_2->AdcSarMux1ConnectToAdc0(取消勾选)

ADC->AdcConfigset->AdcHwunit->AdcHwunit_2->AdcSarMux2ConnectToAdc0(取消勾选)

 

 3.

这样就可以了,其实主要还是看客户那边的需求,这里只是参考。