2019-10-15 21:27发布
电子之旅 发表于 2016-12-28 09:39 贴代码看看吧,你确定是上升沿中断置位了?
电子之旅 发表于 2016-12-28 09:45 中断采集的代码也看看,楼主你是怎么给外部事件的?
嘟嘟肉 发表于 2016-12-28 09:47 ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO; 这个就是配置ADC和外 ...
最多设置5个标签!
void EXTIX_Init(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA,ENABLE); //使能复用功能时钟
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource11);
EXTI_InitStructure.EXTI_Line=EXTI_Line11;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Event; //模式为事件
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
}
void Adc_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef ADC_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
ADC_DeInit(ADC1);
ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;
ADC_InitStruct.ADC_ScanConvMode=DISABLE;
ADC_InitStruct.ADC_ContinuousConvMode=ENABLE;
ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;
ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO;
ADC_InitStruct.ADC_NbrOfChannel=1;
ADC_Init(ADC1,&ADC_InitStruct);
ADC_RegularChannelConfig(ADC1, 1, 1, ADC_SampleTime_13Cycles5);
ADC_Cmd(ADC1,ENABLE);
ADC_ResetCalibration(ADC1); //使能复位校准
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
ADC_StartCalibration(ADC1); //开启AD校准
while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束
}
ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO;
这个就是配置ADC和外部事件的连接。
将同一个方波同时给了中断和ADC的输入。
楼主,手册 上说只是上升沿触发
一周热门 更多>