protues里用HSE总是输出乱码,时钟频率,波特率一样也显示不出来,使用HSI再把时钟频率调到56MHz及以下就能正常运行了,也不知道为什么。电压采集是在中断里面
- void ADC_IRQHandler(void)
- {
- if (ADC_GetITStatus(ADCx,ADC_IT_EOC)==SET)
- {
- // 读取ADC的转换值
- ADC_ConvertedValue = ADC_GetConversionValue(ADCx);
- }
- ADC_ClearITPendingBit(ADCx,ADC_IT_EOC);
- }
复制代码 以下是设置中断的函数- static void ADC_NVIC_Config(void)
- {
- NVIC_InitTypeDef NVIC_InitStructure;
- // 优先级分组
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
- // 配置中断优先级
- NVIC_InitStructure.NVIC_IRQChannel = ADC_IRQ;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init(&NVIC_InitStructure);
- }
复制代码
|