历史上的今天
今天是:2024年09月22日(星期日)
2018年09月22日 | STM32 ADC转换中断读取
2018-09-22 来源:eefocus
ADC中断读取方式适用于低频率的ADC采集,而高频率的AD采集必须使用DMA,
ADC中断读取的初始化函数只是比上一篇的直接读取方式添加了点中断配置文件,代码如下:
static void ADC_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //ʹÄÜPB,PE¶Ë¿ÚʱÖÓ
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
static void ADC_Mode_Config(void)
{
ADC_InitTypeDef ADC_InitStructure;
//ADC_GPIO_Config();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
ADC_DeInit(ADC1);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ScanConvMode=DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel=ADC_Channel_1;
ADC_Init(ADC1,&ADC_InitStructure);
RCC_ADCCLKConfig(RCC_PCLK2_Div8);
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5);
ADC_ITConfig(ADC1,ADC_IT_EOC,ENABLE);
ADC_Cmd(ADC1,ENABLE);
ADC_ResetCalibration(ADC1);
while(ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1);
while(ADC_GetCalibrationStatus(ADC1));
ADC_SoftwareStartConvCmd(ADC1,ENABLE);
}
static void ADC_NVIC_Config()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = ADC1_2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1 ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void ADC_InitConfig(void)
{
ADC_NVIC_Config();
ADC_GPIO_Config();
ADC_Mode_Config();
}
上面的红色部分即为需要添加的代码,分析上面的代码其实就是允许ADC的中断,设置中断的优先级
实际效果图就不发了,代码都是经过测试的,对了,还有个中断服务函数没发出来呢
void ADC1_2_IRQHandler(void)
{
if(ADC_GetITStatus(ADC1,ADC_IT_EOC) == SET)
{
adcconverdata=ADC_GetConversionValue(ADC1);
}
ADC_ClearITPendingBit(ADC1,ADC_IT_EOC);
}
下一篇:STM32 ADC单次转换实例
史海拾趣
|
本文分析了不断变化的汽车盗窃手段,以及相应的汽车防盗技术的发展,重点介绍了TI最新的汽车防盗解决方案—DST+收发器的加密技术及系统组成,并阐述了与之兼容的新一代射频识别(RFID)技术方案—三维天线模拟前端芯片实现无匙进入的工作原理。 由 ...… 查看全部问答> |
|
医院病床呼叫和输液监控系统(G题) 【专科组】 一.任务 设计并制作一套用于医院的病床呼叫和输液监控系统,它由护士站主机、病床监控器等组成,而病床监控器同时具有呼叫和输液监控功能,系统结构如下图H-1所示。   ...… 查看全部问答> |
|
我现在TIM3 PWM输出,已经是正确了。我主频在12MHz, APB1是HCLK 2分频的,所以TIM2,3,4的主频会自动倍频2,也就是TIM3,TIM4的主频是12MHz.现在我TIM3要产生1Hz的pwm,我已经实现了。12000000/(ARR+1)/PreScale = 120 ...… 查看全部问答> |
|
今年过年就是不停的玩智能手机,自己手上的iPhone 3G,Google的Nexus和三星的P1010,感觉确实不错,并且开通了微博,包括新浪和腾讯的,不仅仅获取了更多的信息,也推广了公司的信息,尤其是经常用它看看书,把零碎的时间都用起来了。回公司发现 ...… 查看全部问答> |
|
ECG 机的基本功能包括 ECG 波形显示(通过 LCD 显示屏或印刷纸媒质显示)、心跳律动指示以及通过按钮控制的简单用户界面。越来越多的 ECG 产品要求具备更多的功能,例如通过便携式媒体存储电子病历、无线/有线传输以及在具有触摸功能的大型 LCD 显 ...… 查看全部问答> |




