stm32单片机的定时器中断和adc采集分开用有冲突么
3个回答
意法半导体(中国)投资有限公司
2023-06-12
展开全部
推荐于2018-04-30
展开全部
if(!(ADC1->SR&1<<1)){//检测ad是否在忙
T0_AD_yali=Read_ADC1_path(Path_yali); //Path_yali为0
上面是中断里面的函数
u16 Read_ADC1_path(u8 path)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=path;
ADC1->CR2|=1<<22; //启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR; //返回adc值
}
这是ad转换函数
每次运行到ad转换函数的while(!(ADC1->SR&1<<1));//等待转换结束 这一步就不动了,主函数里面可以正常转换!
T0_AD_yali=Read_ADC1_path(Path_yali); //Path_yali为0
上面是中断里面的函数
u16 Read_ADC1_path(u8 path)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=path;
ADC1->CR2|=1<<22; //启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR; //返回adc值
}
这是ad转换函数
每次运行到ad转换函数的while(!(ADC1->SR&1<<1));//等待转换结束 这一步就不动了,主函数里面可以正常转换!
北京晶宇兴科技
2023-06-13 广告
2023-06-13 广告
STM32系列的微控制器可以使用多种外部时钟源,包括但不限于以下几种:1. 晶体振荡器(Crystal Oscillator):晶体振荡器是一种稳定的时钟源,具有较高的精度和稳定性。STM32系列的微控制器通常内置了一个高精度的晶体振荡器,...
点击进入详情页
本回答由北京晶宇兴科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |