历史上的今天
返回首页

历史上的今天

今天是: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);

}


推荐阅读

史海拾趣

Crocus Technology公司的发展小趣事

随着技术的不断成熟和市场需求的变化,Crocus Technology开始拓展其产品线。2015年,公司成功推出了首款磁开关产品,这标志着公司在磁传感器领域迈出了重要的一步。随后,公司又陆续推出了位置传感和2D传感器产品,进一步巩固了其在磁传感器市场的地位。

Frequency Electronics Inc公司的发展小趣事

为了进一步扩大市场份额,高频电子积极实施全球化战略。公司在全球范围内建立了销售网络和服务体系,与众多国际知名企业建立了长期合作关系。同时,高频电子还针对不同地区的市场需求,定制化开发符合当地标准的产品和服务。这些努力使得高频电子的产品和服务能够覆盖全球多个国家和地区,为公司带来了稳定的收入来源和持续增长的动力。

Hayashi Denko Co Ltd公司的发展小趣事

高频电子在精确时间和频率生成技术方面一直处于世界领先地位。公司不断投入研发,推出了一系列高精度、高性能的定时和频率控制产品,如铷蒸气原子振荡器、温度稳定的石英晶体振荡器等。这些产品被广泛应用于商业、政府、军事等多个领域,包括卫星通信、指挥控制系统、电子战系统等。高频电子的技术创新不仅提升了自身竞争力,还推动了整个行业的发展。

Atlanta Micro公司的发展小趣事

Atlanta Micro的创立,源于几位对射频(RF)技术充满热情的工程师。他们看到了在航空航天和国防领域,高性能RF模块和组件的巨大需求,于是决定共同创业,致力于这一领域的研发。在创业初期,公司面临着资金短缺、市场竞争激烈等诸多挑战,但凭借着对技术的执着和不懈努力,Atlanta Micro逐渐在业界积累了声誉,并获得了初步的市场认可。

AirBorn公司的发展小趣事

随着电子行业的竞争日益激烈,AirBorn面临着来自同行的压力和挑战。为了保持领先地位,AirBorn加强了与客户的沟通与合作,深入了解市场需求和变化趋势。同时,公司还加大了对新技术和新材料的研发投入,不断推出具有创新性和竞争力的新产品。这些举措使得AirBorn在激烈的市场竞争中保持了稳健的发展态势。

Amphenol RF公司的发展小趣事

随着电子行业的竞争日益激烈,AirBorn面临着来自同行的压力和挑战。为了保持领先地位,AirBorn加强了与客户的沟通与合作,深入了解市场需求和变化趋势。同时,公司还加大了对新技术和新材料的研发投入,不断推出具有创新性和竞争力的新产品。这些举措使得AirBorn在激烈的市场竞争中保持了稳健的发展态势。

问答坊 | AI 解惑

用于汽车防盗器的低功耗无匙进入加密收发器技术

本文分析了不断变化的汽车盗窃手段,以及相应的汽车防盗技术的发展,重点介绍了TI最新的汽车防盗解决方案—DST+收发器的加密技术及系统组成,并阐述了与之兼容的新一代射频识别(RFID)技术方案—三维天线模拟前端芯片实现无匙进入的工作原理。 由 ...…

查看全部问答>

WinCE的Notification怎么搞啊?

RT. 好像CE 6里面有那个API,请问该怎么弄啊?…

查看全部问答>

i2c读写操作时序

i2c协议中提到有三种可能的传输方式 1 主机(发送器)发送到从机(接收器),传输的方向不会改变   S-->Slave Address-->R/W-->A-->Data-->NA-->P 2 在第一个字节后,主机立即读从机。在第一次响应时,主机(发送器)变成主机(接收器), ...…

查看全部问答>

2010年全国大学生电子设计打赛题目

医院病床呼叫和输液监控系统(G题) 【专科组】 一.任务 设计并制作一套用于医院的病床呼叫和输液监控系统,它由护士站主机、病床监控器等组成,而病床监控器同时具有呼叫和输液监控功能,系统结构如下图H-1所示。        ...…

查看全部问答>

香主,我这样计算有错吗?

我现在TIM3 PWM输出,已经是正确了。我主频在12MHz, APB1是HCLK 2分频的,所以TIM2,3,4的主频会自动倍频2,也就是TIM3,TIM4的主频是12MHz.现在我TIM3要产生1Hz的pwm,我已经实现了。12000000/(ARR+1)/PreScale = 120 ...…

查看全部问答>

编译错误问题求助

各位请教了,我在学习ZLG的LM3S1138开发板,使用的是ZLG的例程,在编译时,出现这样的错误提示.是什么意思呢 Fatal Error[Pe005]: could not open source file \"hw_adc.h\" D:\\ZLG\\lm3s1138开发板练习\\Led\\User\\includes.h 72 Error while run ...…

查看全部问答>

新手求助

各位有没有PC端软件和PICC编译器软件啊。。若有,请分享一下。谢谢!…

查看全部问答>

开工第一件事情就是管理层统一更换为智能手机

今年过年就是不停的玩智能手机,自己手上的iPhone 3G,Google的Nexus和三星的P1010,感觉确实不错,并且开通了微博,包括新浪和腾讯的,不仅仅获取了更多的信息,也推广了公司的信息,尤其是经常用它看看书,把零碎的时间都用起来了。回公司发现 ...…

查看全部问答>

心电图(ECG)信号链的模拟基础(一)

ECG 机的基本功能包括 ECG 波形显示(通过 LCD 显示屏或印刷纸媒质显示)、心跳律动指示以及通过按钮控制的简单用户界面。越来越多的 ECG 产品要求具备更多的功能,例如通过便携式媒体存储电子病历、无线/有线传输以及在具有触摸功能的大型 LCD 显 ...…

查看全部问答>

最全的晶振讲解

偶然看到了这份资料,是本译文书《石英晶体谐振器和振荡器》 内容很全,不紧有原理还有制造介绍。 方便了解内容,贴个目录: 第一章 应用和要求........................................................... 4 第二章 石英晶体振荡器......... ...…

查看全部问答>