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.

[参考译文] SIMPLELINK-MSP432-SDK:ADCBuf 解析器上的错误 ADC 端口提取。

Guru**** 2589245 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/611446/simplelink-msp432-sdk-wrong-adc-port-extraction-on-adcbuf-dirver

器件型号:SIMPLELINK-MSP432-SDK

假设我有一个与我的 ADCBuf 类似的配置、其中 ADCChannel 是混频的、而不是从0到31进行排序。

此外、还有许多用于通道配置的模拟输入。

ADCBufMSP432_channels adcBuf0MSP432Channels[MSP_EXP432P401R_ADCBUF0CHANNELCOUNT]={

   {

       .adcPin = ADCBufMSP432_P4_0_A13、

       refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、

       .refVoltage = 2500000

   }、

   {

       .adcPin = ADCBufMSP432_P5_3_A2、

       refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、

       .refVoltage = 1450000

   }、

   {

       .adcPin = ADCBufMSP432_P5_1_A4、

       refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、

       .refVoltage = 1450000

   }、

   {

       .adcPin = ADCBufMSP432_P5_2_A3、

       refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、

       .refVoltage = 1450000

   }、

   {

       .adcPin = ADCBufMSP432_P4_0_A13、

       refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、

       .refVoltage = 1450000

   }

};

因此、如果我使用 ADCBufChannel0、它是端口4.0上多路复用器的模拟端口 A13。

该引脚将按预期设置、但多路复用器的模拟输入选择不会。

我找到了代码部分、在该部分无法为给定通道配置模拟端口。

       MAP_ADC14_configureConversionMemory (ADC_MEM0、

               REFSource、

               conversations->adcChannel,false);

 

       通道 Int = ADC_INT0;

正常情况下、引脚配置如下所示:

#define ADCBufMSP432_P4_0_A13 ((13 << 10)| 0x0340)/*通道13、端口4、引脚0 *

因此、模拟输入信息存储在引脚配置之上的10位。

我添加了一行、现在提取该信息并将其提供给转换配置。

uint8_t adcChannel =(hwAttrs->channelSetting[转换->adcChannel].adcPin >> 10);

MAP_ADC14_configureConversionMemory (ADC_MEM0、
REFSource、
adcChannel、false);

通道 Int = ADC_INT0;

如果我的修复程序有问题、请告诉我、否则我必须列出所有 adcports、直到我要使用这个。

必去之处

Richard

 

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

    您好 Richard、

    请您分享您的 MSP_EXP432P401R_ADCBufChannelName enmu。

    typedef enum MSP_EXP432P401R_ADCBufChannelName{
    MSP_EXP432P401R_ADCBUFCHANNEL0 = 0、
    MSP_EXP432P401R_ADCBUFCHANNEL1、
    
    MSP_EXP432P401R_ADCBUFCHANNELCOUNT
    }MSP_EXP432P401R_ADCBufChannelName; 

    此外、ADCBufMSP432_P4_0_A13在 adcBufMSP432Channels 中定义了两次

    {
    
    .adcPin = ADCBufMSP432_P4_0_A13、
    
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    
    .refVoltage = 1450000
    
    }
    

    谢谢、

     David

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

    尊敬的 David:

    当然、这是我的枚举和配置:

    ADCBufMSP432_channels adcBuf0MSP432Channels[MSP_EXP432P401R_ADCBUF0CHANNELCOUNT]={
    {
    .adcPin = ADCBufMSP432_P5_4_A1、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_3_A2、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_1_A4、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_2_A3、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P4_0_A13、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }
    };
    
    // ADC 配置结构*/
    const ADCBufMSP432_HWAttrs adcbufMSP432HWAttrs[MSP_EXP432P401R_ADCBUFCOUNT]={
    {
    .intPriority =~0、
    通道设置= adcBuf0MSP432Channels、
    .adcTimerTriggerSource = ADCBufMSP432_TIMERRA0_CAPTURECOMPARE2
    }
    };
    
    extern ADCBuf_FxnTable ADCBufMSP432FIX _fxnTable;
    
    const ADCBuf_Config ADCBuf_config[MSP_EXP432P401R_ADCBUFCOUNT]={
    {
    .fxnTablePtr =&ADCBufMSP432FIX _fxnTable、
    .object =&adcbufMSP432Objects[MSP_EXP432P401R_ADCBUF0]、
    hwAttrs =&adcbufMSP432HWAttrs[MSP_EXP432P401R_ADCBUF0]
    }
    }; 
    typedef 枚举 MSP_EXP432P401R_ADCBufName{
    MSP_EXP432P401R_ADCBUF0 = 0、
    MSP_EXP432P401R_ADCBUFCOUNT
    }MSP_EXP432P401R_ADCBBufName;
    
    /*!
    *@def MSP_EXP432P401R_ADCBuf0ChannelName
    *@MSP_EXP432P401R 开发板上 ADCBuf 通道的简单枚举
    */
    typedef enum MSP_EXP432P401R_ADCBuf0ChannelName{
    MSP_EXP432P401R_ADCBUF0CHANNEL0 = 0、
    MSP_EXP432P401R_ADCBUF0CHANNEL1、
    MSP_EXP432P401R_ADCBUF0CHANNEL2、
    MSP_EXP432P401R_ADCBUF0CHANNEL3、
    MSP_EXP432P401R_ADCBUF0CHANNEL4、
    MSP_EXP432P401R_ADCBUF0CHANNELCOUNT
    }MSP_EXP432P401R_ADCBuf0ChannelName; 

    希望这将有所帮助。

    必去之处  

    Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这两个定义都是为了测试目的。
    在我发布到这里之前、我忘了清理它、很抱歉、这是一个错误

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

    遗憾的是、我无法重现此行为。 您能否同时分享您的 ADC 代码或您的完整项目?

    谢谢、

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

    我可以向您提供我所做的指令。

    ADCBuf_Conversion 转换;
    
    conversion.adcChannel = MSP_EXP432P401R_ADCBUF0CHANNEL0;
    conversion.sampleBuffer = sampleBuffer;
    conversion.samplesRequestedCount = numRxBytes;
    
    if (ADCBuf_convert (h->ADC_h、 转换、1)!= ADCBuf_STATUS_SUCCESS){
    pthread_mutex_unlock (&(adc_mutex[h->dev]);
    返回-4;
    }
    
    if (adcBuf_convertAdjustedToMicroVolts (h->adc_h、h->dev、sampleBuffer、 rxBuffer、numRxBytes){
    pthread_mutex_unlock (&(adc_mutex[h->dev]);
    return -5;
    } 

    这是我的调用、仅用于通知我的配置和枚举:

    /*
    ================================================ ADCBuf ================================================
    */
    #include 
    #include 
    
    /* ADC 对象*/ADCBufMSP432_Object
    adcbufMSP432Objects[MSP_EXP432P401R_ADCBUFCOUNT];
    
    ADCbufMSP432_channels adcBuf0MSP432Channels[MSP_EXP432P401R_ADCBUF0CHANNELCOUNT ={]}
    {
    .adcPin = ADCBufMSP432_P5_4_A1、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_3_A2、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_1_A4、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P5_2_A3、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }、
    {
    .adcPin = ADCBufMSP432_P4_0_A13、
    refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 1450000
    }
    };
    
    // ADC 配置结构*/
    const ADCBufMSP432_HWAttrs adcbufMSP432HWAttrs[MSP_EXP432P401R_ADCBUFCOUNT]={
    {
    .intPriority =~0、
    通道设置= adcBuf0MSP432Channels、
    .adcTimerTriggerSource = ADCBufMSP432_TIMERRA0_CAPTURECOMPARE2
    }
    };
    
    extern ADCBuf_FxnTable ADCBufMSP432FIX _fxnTable;
    
    const ADCBuf_Config ADCBuf_config[MSP_EXP432P401R_ADCBUFCOUNT]={
    {
    .fxnTablePtr =&ADCBufMSP432FIX _fxnTable、
    .object =&adcbufMSP432Objects[MSP_EXP432P401R_ADCBUF0]、
    hwAttrs =&adcbufMSP432HWAttrs[MSP_EXP432P401R_ADCBUF0]
    }
    };
    
    const uint_least8_t ADCBuf_count = MSP_EXP432P401R_ADCBUFCOUNT; 
    /*!
    *@def MSP_EXP432P401R_ADCBufName
    *@MSP_EXP432P401R 开发板上 ADC 硬件外设的简要枚举
    */
    typedef enum MSP_EXP432P401R_ADCBufName{
    MSP_EXP432P401R_ADCBUF0 = 0、
    MSP_EXP432P401R_ADCBUFCOUNT
    }MSP_EXP432P401R_ADCBBufName;
    
    /*!
    *@def MSP_EXP432P401R_ADCBuf0ChannelName
    *@MSP_EXP432P401R 开发板上 ADCBuf 通道的简单枚举
    */
    typedef enum MSP_EXP432P401R_ADCBuf0ChannelName{
    MSP_EXP432P401R_ADCBUF0CHANNEL0 = 0、
    MSP_EXP432P401R_ADCBUF0CHANNEL1、
    MSP_EXP432P401R_ADCBUF0CHANNEL2、
    MSP_EXP432P401R_ADCBUF0CHANNEL3、
    MSP_EXP432P401R_ADCBUF0CHANNEL4、
    MSP_EXP432P401R_ADCBUF0CHANNELCOUNT
    }MSP_EXP432P401R_ADCBuf0ChannelName; 

    问题是、我想使用 ADCBufChannel 0选择 ADC 端口 A1。 但是、如果我要将转换属性 adcChannel 设置为 ADCBufChannel0、它会选择错误的模拟端口。 如果我尝试将 adcChannel 设置为 ADC14_INCH_1、这将是正确的。 它使用 ADCBufChannel1的配置、这对于这种植入是正常的。 我尝试通过变通办法解决此问题。 但这取决于我对使用驱动程序的理解。 否则、您可以举一个例子、说明 ADCBufChannel 配置阵列与我的配置类似、以及如何正确使用它。

    必去之处  

    Richard

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

    所以我再试一次、问题仍然存在。

    让我们获取您的驱动程序的一些代码、可能会很清楚。

    /*
    === primeConvert ======
    静态
    空 primeConvert (ADCBufMSP432_Object *对象*对象,
    ADCBufMSP432_HWAttrs const *hwAttrs、ADCBuf_Conversion *转换、
    UINT_fast8_t 通道计数)
    {
    uint32_t 通道 Int;
    uint32_t MEMORY = ADC_MEM0;
    uint_fast8_t i = 0;
    
    /*将转换结构数组存储到对象中*/
    object->Conversions = Conversions;
    /*将通道计数存储到对象中*/
    object->channelCount = channelCount;
    
    /*配置用于 ADC 通道模拟输入的 GPIO */
    对于(i = 0;i <通道计数;i++){
    /*为 ADC 通道模拟输入配置 GPIO */
    MAP_GPIO_setPeripheralModuleFunctionInputPin (
    PinConfigPort (hwAttrs->channelSetting[i].adcPin)、
    PinConfigPin (hwAttrs->channelSetting[i].adcPin)、
    PinConfigModuleFunction (hwAttrs->channelSetting[i].adcPin);
    }
    
    //TODO:对于多通道采样、基准源和采样持续时间应相同
    /*为电流转换设置基准电压*/
    uint32_t refSource = hwAttrs->channelSetting[conversations[0].adcChannel].refSource;
    uint32_t refVolts = hwAttrs->channelSetting[conversations[0].adcChannel].refVoltage;
    uint16_t refVoltsDef;
    if (refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS){
    
    开关(参考电压){
    案例1200000:
    refVoltsDef = REF_A_VREF1_2V;
    中断;
    案例1450000:
    refVoltsDef = REF_A_VREF1_45V;
    中断;
    案件2500000:
    refVoltsDef = REF_A_VREF2_5V;
    中断;
    默认值:
    中断;
    }
    
    MAP_REF_A_setReferenceVoltage (refVoltsDef);
    map_REF_A_enableReferenceVoltage();
    }
    
    /* ADC 单通道采样*/
    if (channelCount = 1){
    if (转换-> samplesRequestedCount > 1){
    MAP_ADC14_configureSingleSampleMode (ADC_MEM0、TRUE);
    }
    否则{
    MAP_ADC14_configureSingleSampleMode (ADC_MEM0、false);
    }
    
    refSource = hwAttrs->channelSetting[转换->adcChannel].refSource;
    
    MAP_ADC14_configureConversionMemory (ADC_MEM0、
    REFSource、
    conversations->adcChannel,false);
    
    通道 Int = ADC_INT0;
    
    /*将样本计数存储到对象中*/
    object->convisionSampleBuf = conversion->sampleBuffer;
    object->convisionSampleCount = conversion->samplesRequestedCount;
    object->convisionSampleIdx = conversion->samplesRequestedCount;
    }
    否则{/* ADC 多通道采样*/
    if (转换-> samplesRequestedCount > 1){
    MAP_ADC14_configureMultiSequenceMode (存储器、
    MEMORY <<(通道计数-1)、
    对);
    }
    否则{
    MAP_ADC14_configureMultiSequenceMode (存储器、
    MEMORY <<(通道计数-1)、
    false);
    }
    
    对于(i = 0;i <通道计数;i++、memory=memory<1){
    
    refSource = hwAttrs->channelSetting[conversations[i].adcChannel].refSource;
    
    MAP_ADC14_configureConversionMemory (内存、
    REFSource、
    conversations[i].adcChannel、false);
    }
    
    通道 Int = 1<<(通道计数-1);
    
    /*将样本计数存储到对象中*/
    object->convisionSampleCount = conversion[0].samplesRequestedCount;
    object->convisionSampleIdx = conversion[0].samplesRequestedCount;
    }
    
    /*配置采样计时器*/
    MAP_ADC14_enableSampleTimer (ADC_AUTOMATE_DIOTIVation);
    ///map_ADC14_enableSampleTimer (adc_manual_iteration);
    
    /*启用中断*/
    MAP_ADC14_clearInterruptFlag (channelInt);
    MAP_ADC14_enableInterrupt (通道内部);
    
    /*启用转换*/
    MAP_ADC14_enableConversion();
    
    /*启用中断*/
    MAP_Interrupt_enableInterrupt (INT_ADC14);
    MAP_Interrupt_enableMaster();
    
    /*从计时器 PWM 触发转换*/
    MAP_Timer_A_startCounter (object->timerAddr、
    Timer_A_up_mode);
    } 

    在绿色标记位置、它将配置右侧引脚、该设置将存储到 adcpin。  

    此字段包含以下宏之一:

    /*端口4 */
    #define ADCBufMSP432_P4_0_A13 ((13 << 10)| 0x0340)/*通道13、端口4、引脚0 */
    #define ADCBufMSP432_P4_1_A12 (12 << 10)| 0x0341)/*通道12、端口4、引脚1 *
    /#define ADCfMSP432_1_A12 (12 <10)|#define ADCf42 11 (#define MSP432 _A24) 引脚2 */
    #define ADCBufMSP432_P4_3_A10 ((10 << 10)| 0x0343)/*通道10、端口4、引脚3 */
    #define ADCBufMSP432_P4_4_A9 (9 << 10)| 0x0344)/*通道9、端口4、引脚4 */
    #define ADCfMSP432_4 |引脚8 (#define ADCf4 P4_4)*、#define ADCf4 P4_A4_A4*(
    #define 4 *#define ADP4_10)* ((7 << 10)| 0x0346)/*通道7、端口4、引脚6 */
    #define ADCBufMSP432_P4_7_A6 ((6 << 10)| 0x0347)/*通道6、端口4、引脚7 */
    
    *端口5 *
    /#define ADCBufMSP432_P5_0_A5 (#define 0_A4/5)*/引脚5 * ADC350
    ((4 << 10)| 0x0351)/*通道4、端口5、引脚1 */
    #define ADCBufMSP432_P5_2_A3 (3 << 10)| 0x0352)/*通道3、端口5、引脚2 */
    #define ADCBufMSP432_P5_3_A2 (2 << 10)|#define ADC034
    (#define 3)/#define ADC432_A1*引脚3) /*通道1、端口5、引脚4 */
    #define ADCBufMSP432_P5_A0 ((0 << 10)| 0x0355)/*通道0、端口5、引脚5 */
    
    *端口6 *
    /#define ADCbufMSP432_P6_0_A15 (15 << 10)| 0x0360 *、引脚5 */
    #define ADCfMSP432 * 14 (P6_P6_14)*#define 14) /* ch 14、端口6、引脚1 */*
    
    端口8 */
    #define ADCBufMSP432_P8_2_A23 ((23 << 10)| 0x0382)/* ch 23、端口8、引脚2 */
    #define ADCBufMSP432_P8_3_A22 (22 << 10)| 0x383*引脚
    8、#define ADCfMSP432 *引脚4 (0x384_21)/#define ADC0383_A22) /* ch 21、端口8、引脚4 */
    #define ADCBufMSP432_P8_5_A20 ((20 << 10)| 0x0385)/* ch 20、端口8、引脚5 */
    #define ADCBufMSP432_P8_6_A19 (19 << 10)| 0x0386)/* ch 20、端口8、*#define ADCBUfMSP432_6_A19
    (#define 18*、端口8) 引脚7 */
    
    //*端口9 */
    #define ADCBufMSP432_P9_0_A17 ((17 << 10)| 0x0390)/*通道17、端口9、引脚0 */
    #define ADCBufMSP432_P9_1_A16 (((16 << 10)| 0x0391)/*通道16、引脚9、*引脚1、引脚9 

    这个宏包含模拟通道+基于硬件的端口+引脚。

    /*配置用于 ADC 通道模拟输入的 GPIO */
    对于(i = 0;i <通道计数;i++){
    /*为 ADC 通道模拟输入配置 GPIO */
    MAP_GPIO_setPeripheralModuleFunctionInputPin (
    PinConfigPort (hwAttrs->channelSetting[i].adcPin)、
    PinConfigPin (hwAttrs->channelSetting[i].adcPin)、
    PinConfigModuleFunction (hwAttrs->channelSetting[i].adcPin);
    } 


    此时将应用配置。

    但是、如果我们继续并转到该块:

    MAP_ADC14_configureConversionMemory (ADC_MEM0、
    REFSource、
    conversations->adcChannel,false); 


    我认为,它必须:

    uint8_t adcChannel =(hwAttrs->channelSetting[转换->adcChannel].adcPin >> 10);

    MAP_ADC14_configureConversionMemory (ADC_MEM0、
    REFSource、
    adcChannel、false);

    对于示例案例、请使用我的配置:

    /* ADC 对象*/ADCBufMSP432_Object
    adcbufMSP432Objects[FWD_Board_ADCBUFCOUNT];
    
    ADCBufMSP432_CHANNELS adcBuf0MSP432Channels[FWD_Board_ADCB0CC_ADC2500NELCOUNT]={
    * FWD_ANCE_BOARD_REF4*
    
    
    
    
    
    
    
    
    
    
    
    
    
    = ADC432_ADREF_ADREF_ADREF_ANAINVREF_ANCE_ADREF_AND*= ADREF_ADREF_ADREF_ANDULT_ADREF_ADREF_ADD*= ADREF_ADREF_ADREF_ADREF_ADREF_EN4 *= ADREF_ADREF_ADREF_ADREF_ADREF_EN4 *= ADREF_ADREF_ADREF_ADREF_ADVC_ADVC_ADREF_ADVC_ADREF_EN4 *= ADREF_ANAINAINAIN_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ANAIN_ADREF_AD
    
    .refVoltage = 2500000
    }、
    // FWD_Board_analog_20mA_AIN */
    {
    .adcPin = ADCBufMSP432_P5_3_A2、
    .refSource = ADCBufMSP432_VREFPOS_INTBUF_VREF_VREF_VSS、
    .REF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ANCE_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_EN430_ADREF_ADREF_ANCE_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_ADREF_AD
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /* ADC 配置结构*/
    const ADCBBufMSP432_HWAttrs adcbufMSP432HWAttrs[FWD_Board_ADCBUFCOUNT]={
    
    .intPriority =~0、
    .CAPTIelSeting = adcBuf0MSP432HWChannels、
    .adcTimerTrigedSource ={.int_ADCCFUNCFF_ADCC32_ADCFFT
    
    
    
    
    
    
    
    
    
    
    
    = ADCC32_ADCCEP_ADCC32_ADCCEP_ADCFFT = ADCC32_ADCCEP_ADCCEP_ADCC32_ADCCEP_ADCC32_ADCCEP_ADCC32_ADCCEP_ADCCEP_ADCC32_ADCCEP_ADCC32_ADCCEP_ADCCEP_ADCCEP_ADCC32_ADCC32_ADCCEP_ADCCEP_ADCCEP_ADCC32_ADCCEP_ADCCEP_ADCCEP_ADCCEP_ADCCEP_ADCCEP_ADCC32_ADCC32_ADCCEP_ADCCEP_ADCC32_ADCCEP_ 

    采用 ADCChannel[0],即:

    {
    .adcPin = ADCBufMSP432_P5_1_A4、
    .refSource = ADCBufMSP432_VREFPOS_INTBUF_VREFNEG_VSS、
    .refVoltage = 2500000
    }、 

    现在您可以读取、我选择 A4作为 AnalogInput。

    现在、我们转到我的代码:  

    ADCBuf_Conversion conversion ={0};
    
    conversion.adcChannel = 0;
    conversion.sampleBuffer = sampleBuffer;
    conversion.samplesRequestedCount = numRxBytes;
    
    if (ADCBuf_convert (h->ADC_h、 转换,1)!= ADCBuf_status_Success) 

    它将调用函数 primeConvert、我在开始时在其中布置。

    现在、引脚配置在引脚5.1上完成并映射到 A4。

    但是现在、在红色标记的位置、adcChannel = 0、但对于以下函数调用:

    MAP_ADC14_configureConversionMemory (ADC_MEM0、
    REFSource、
    conversations->adcChannel,false); 


    需要为4才能选择 AnalogInput A4进行转换。

    如果您需要更多信息、请告诉我。

    必去之处
    Richard