//外部触发源设置 ADC_ExternalTrigInjectedConvConfig(ADC1,ADC_ExternalTrigInjecConv_T2_TRGO);//外部触发源设置 ADC_ExternalTrigInjectedConvCmd(ADC1, ENABLE); //设置外部触发使能 ADC_ClearITPendingBit(ADC1, ADC_IT_JEOC); // 清除寄存器标志位 ADC_ITConfig(ADC1, ADC_IT_JEOC, ENABLE);// 使能ADC注...
#define ADC_EXTERNALTRIG_T1_TRGO2 ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1)) #define ADC_EXTERNALTRIG_T2_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0)) #define ADC_EXTERNALTRIG_T4_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EX...
#define ADC_EXTERNALTRIG_T1_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_0)) #define ADC_EXTERNALTRIG_T1_TRGO2 ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1)) #define ADC_EXTERNALTRIG_T2_TRGO ((uint32_t)(ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EX...
hadc1.Instance = ADC1; hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO; // 使用TIM2触发 hadc1.Init.ContinuousConvMode = DISABLE; //禁用ADC的连续转换模式 hadc1.Init.DiscontinuousConvMode = DISABLE; //禁用ADC的不连续转换模式 hadc1.Init.NbrOfDiscConversion = 0; //设置不连续转...
hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 3; hadc1.Init.DMAContinuousRequests = ENABLE; hadc1.Init.EOCSelection = ADC_EOC_SEQ_CONV; if (HAL_ADC_Init(&hadc1) != HAL_OK) ...
本节依旧是通过ADC1规则组单通道模式测量KST-32开发板的USB电源输入电压,但是触发方式由软件触发,改为定时器触发,这里选择使用ADC_ExternalTrigConv_T2_CC2(定时器2输出比较触发),通过设置定时器每隔20ms触发一次ADC采样及转换,此时ADC的采样频率为50Hz。实验中对十次转换数据求平均,以此减少参考电源不稳定带来的影响。
但如果你想要通过定时器硬件触发ADC(例如使用TIM2的TRGO输出),你需要在ADC初始化时设置相应的ExternalTrigConv参数,并配置相应的通道。例如: c hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO; // 假设TIM2的TRGO输出用于触发ADC 然而,在这个特定的例子中,我们已经在定时器中断中手动触发了ADC,所以...
#define ADC_ExternalTrigConv_T2_CC4 ((uint32_t)0x05000000) #define ADC_ExternalTrigConv_T2_TRGO ((uint32_t)0x06000000) #define ADC_ExternalTrigConv_T3_CC1 ((uint32_t)0x07000000) #define ADC_ExternalTrigConv_T3_TRGO ((uint32_t)0x08000000) ...
ADC_EXTERNALTRIGCONV_T3_TRGO 选择定时器3的TRGO作为转换外部触发 ADC_EXTERNALTRIGCONV_T4_CC4 ...
也就是说是因为ADC_ExternalTrigConv导致我们设置的对齐模式位左对齐。进一步回顾正点原子的ADC初始化代码(...