This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:J721E

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127696/tda4vm-j721e

器件型号:TDA4VM

如何将 ADC 配置为连续读取模式以进行电压监控?

我执行了以下配置方法

#define  ADC1_CHANGE_NO 6.

静态 INT8_t AdcConfiguration()

adcStepConfig_t adcConfig;
uint32_t configStatus;
uint32_t baseAddress = CSL_MCU_ADC1_base;

BoardDiag initADC (baseAddress);

ADCEnableIntr (baseAddress、(ADC_IRQENABLE_Set_End_of 序列掩码|
ADC_IRQENABLE_SET_FIFO0_THR_MASK |
ADC_IRQENABLE_SET_FIFO0_O溢出 掩码|
ADC_IRQENABLE_SET_FIFO0_underflow_MASK |
ADC_IRQENABLE_SET_OUT_OUT_RANGE_MASK);

/*初始化 ADC 配置参数*/
adcConfig.mode = adc_operation_mode_continuous;
adcConfig.openDelay = 0x1U;
adcConfig.sampleDelay = 0x1U;
adcConfig.rangeCheckEnable = 0U;
adcConfig.Averaging = ADC_STEPCONFIG_Avering_16_SAMPLESAV;
adcConfig.fifoNum = ADC_FIFO_NUM_0;

configStatus = ADCSetStepParams (baseAddress、ADC1_CHANNEL、&adcConfig);
if (configStatus!= 0)
{    
   返回-1;

ADCStepIdTagEnable (baseAddress、true);

CONFIGStatus = ADCSetCPUFIFOThresholdLevel (baseAddress、
ADC_FIFO_NUM_0、40U);
if (configStatus!= 0)
{    
   返回-1;

返回0;

静态空 BoardDiag (initADC)(uint32_t baseAddress)

    uint8_t 延迟;

    /*清除所有中断状态*/
    ADCCIntrlearStatus (baseAddress、ADC_INTR_STATUS_ALL);

/*为 AFE 加电*/
ADCPowerUp (baseAddress、true);

/*至少等待4us */
for (delay = 0;delay<4;delay++);

/*进行内部校准*/
ADCInit (baseAddress、false、0U、0U);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    看起来函数来自 RTOS、因此我认为您可能希望以示 例/ADC/ADC_Singleshot_test_app/ADC_app.c 为例。

    该示例至少还有两个与使 ADC 运行相关的函数调用:

    ADCStepEnable

    AppADCStart

    Kevin