历史上的今天
返回首页

历史上的今天

今天是:2024年09月08日(星期日)

2018年09月08日 | STM32L152 外部中断配置

2018-09-08 来源:eefocus

1、中断配置


以外部中断0,管脚为PA0为例来进行配置


    void SYS_EXTI0Init(void)

    {

    GPIO_InitTypeDef GPIO_InitStructure;

    EXTI_InitTypeDef EXTI_InitStructure;

    NVIC_InitTypeDef NVIC_InitStructure;


    //初始化PA0管脚

    /* Enable GPIOA clock */

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//打开PA口时钟

    /* Configure PA0 pin as input floating */

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//输入

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//浮空,不上拉不下拉

    GPIO_InitStructure.GPIO_Pin = KEY_PIN;//管脚

    GPIO_Init(KEY_PORT, &GPIO_InitStructure);//初始化


    /* Enable SYSCFG clock */

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

    /* Connect EXTI0 Line to PA0 pin */

    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);


    /* Configure EXTI0 line */

    EXTI_InitStructure.EXTI_Line = EXTI_Line0;//中断线0

    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//外部中断

    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发 

    EXTI_InitStructure.EXTI_LineCmd = ENABLE;

    EXTI_Init(&EXTI_InitStructure);//初始化


    /* Enable and set EXTI0 Interrupt to the lowest priority */

    NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//外部中断0类型

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;

    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;

    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

    NVIC_Init(&NVIC_InitStructure);

}


2、中断服务子程序编写


中断服务子程序的函数名是已经定义好了,在固件库中中断文件中这样子说明: 

这里写图片描述

在startup_stm32l1xx_mdp.s 文件中,中断函数名如下定义:


; External Interrupts

                DCD     WWDG_IRQHandler           ; Window Watchdog

                DCD     PVD_IRQHandler            ; PVD through EXTI Line detect

                DCD     TAMPER_STAMP_IRQHandler   ; Tamper and Time Stamp

                DCD     RTC_WKUP_IRQHandler       ; RTC Wakeup

                DCD     FLASH_IRQHandler          ; FLASH

                DCD     RCC_IRQHandler            ; RCC

                DCD     EXTI0_IRQHandler          ; EXTI Line 0

                DCD     EXTI1_IRQHandler          ; EXTI Line 1

                DCD     EXTI2_IRQHandler          ; EXTI Line 2

                DCD     EXTI3_IRQHandler          ; EXTI Line 3

                DCD     EXTI4_IRQHandler          ; EXTI Line 4

                DCD     DMA1_Channel1_IRQHandler  ; DMA1 Channel 1

                DCD     DMA1_Channel2_IRQHandler  ; DMA1 Channel 2

                DCD     DMA1_Channel3_IRQHandler  ; DMA1 Channel 3

                DCD     DMA1_Channel4_IRQHandler  ; DMA1 Channel 4

                DCD     DMA1_Channel5_IRQHandler  ; DMA1 Channel 5

                DCD     DMA1_Channel6_IRQHandler  ; DMA1 Channel 6

                DCD     DMA1_Channel7_IRQHandler  ; DMA1 Channel 7

                DCD     ADC1_IRQHandler           ; ADC1

                DCD     USB_HP_IRQHandler         ; USB High Priority

                DCD     USB_LP_IRQHandler         ; USB Low  Priority

                DCD     DAC_IRQHandler            ; DAC

                DCD     COMP_IRQHandler           ; COMP through EXTI Line

                DCD     EXTI9_5_IRQHandler        ; EXTI Line 9..5

                DCD     LCD_IRQHandler            ; LCD

                DCD     TIM9_IRQHandler           ; TIM9

                DCD     TIM10_IRQHandler          ; TIM10

                DCD     TIM11_IRQHandler          ; TIM11

                DCD     TIM2_IRQHandler           ; TIM2

                DCD     TIM3_IRQHandler           ; TIM3

                DCD     TIM4_IRQHandler           ; TIM4

                DCD     I2C1_EV_IRQHandler        ; I2C1 Event

                DCD     I2C1_ER_IRQHandler        ; I2C1 Error

                DCD     I2C2_EV_IRQHandler        ; I2C2 Event

                DCD     I2C2_ER_IRQHandler        ; I2C2 Error

                DCD     SPI1_IRQHandler           ; SPI1

                DCD     SPI2_IRQHandler           ; SPI2

                DCD     USART1_IRQHandler         ; USART1

                DCD     USART2_IRQHandler         ; USART2

                DCD     USART3_IRQHandler         ; USART3

                DCD     EXTI15_10_IRQHandler      ; EXTI Line 15..10

                DCD     RTC_Alarm_IRQHandler      ; RTC Alarm through EXTI Line

                DCD     USB_FS_WKUP_IRQHandler    ; USB FS Wakeup from suspend

                DCD     TIM6_IRQHandler           ; TIM6

                DCD     TIM7_IRQHandler           ; TIM7

                DCD     0                         ; Reserved

                DCD     TIM5_IRQHandler           ; TIM5

                DCD     SPI3_IRQHandler           ; SPI3

                DCD     0                         ; Reserved

                DCD     0                         ; Reserved

                DCD     DMA2_Channel1_IRQHandler  ; DMA2 Channel 1

                DCD     DMA2_Channel2_IRQHandler  ; DMA2 Channel 2

                DCD     DMA2_Channel3_IRQHandler  ; DMA2 Channel 3

                DCD     DMA2_Channel4_IRQHandler  ; DMA2 Channel 4

                DCD     DMA2_Channel5_IRQHandler  ; DMA2 Channel 5

                DCD     AES_IRQHandler            ; AES

                DCD     COMP_ACQ_IRQHandler       ; Comparator Channel Acquisition


使用上面的对应的中断函数名来编写相对应的程序


推荐阅读

史海拾趣

Analog Microwave Design公司的发展小趣事

随着公司规模的不断扩大,Analog Microwave Design公司开始将目光投向国际市场。为了更好地拓展海外业务,公司制定了一套完善的国际化战略。首先,公司加强了与国际知名企业的合作,通过技术交流和合作研发,提升了公司的技术水平和国际影响力。其次,公司积极参加国际展览和会议,展示公司的最新产品和技术成果,吸引了众多海外客户的关注。通过这些努力,公司的海外业务得到了快速发展,成为公司新的增长点。

Eska公司的发展小趣事

随着全球对环保意识的提高,Eska公司积极响应并融入环保理念。公司采用再生纸作为原材料,制造灰板纸,有效减少了资源浪费和环境污染。同时,Eska的造纸过程也注重节能减排,每生产一顿纸板所需的水量非常少。此外,公司还拥有自己的加热和发电站,所产出的电力和蒸汽供应自给自足,进一步减少了对环境的破坏。

BURGESS公司的发展小趣事

进入21世纪,BURGESS继续保持其强劲的发展势头。2004年,它成为第一家在纽约拥有工作地的游艇经理公司,这标志着其在美国市场的深入拓展。此外,BURGESS还不断扩大其在全球的业务网络,目前在全球范围内拥有12家办公室和160多名员工,形成了一个庞大的游艇经纪帝国。

Changzhou Galaxy Century Microelectronics Co.,Ltd公司的发展小趣事

银河微电自成立之初,便专注于半导体分立器件的研发与生产。面对国内外市场的激烈竞争,公司坚持自主创新,不断投入研发力量,终于在某关键技术上取得了重大突破。这一技术突破不仅提高了产品的性能,还降低了生产成本,使得银河微电的产品在市场上更具竞争力。凭借这一技术优势,银河微电逐渐在行业中树立起了自己的地位。

启英泰伦(Chiplntelli)公司的发展小趣事

随着技术的不断进步和市场需求的日益增长,启英泰伦的芯片产品历经了多次迭代。从最初的AI语音芯片,到后来的AI语音Wi-Fi芯片、AI语音BLE芯片,公司形成了系列化的芯片产品布局。这些芯片广泛应用于智能家居、智能家电、智慧照明等领域,为客户提供了更自然、更简单、更智能的人机交互体验。启英泰伦的芯片产品在市场上获得了广泛的认可,服务客户超过5000家,累计装机量突破2000万台。

Dynawave Incorporated公司的发展小趣事

随着技术的成熟,Dynawave开始寻求市场拓展。公司高层决定,将目标市场锁定在智能家居和物联网领域。他们与多家知名厂商合作,将自己的无线传输技术应用到各类智能设备中。通过不断的技术优化和市场推广,Dynawave的产品逐渐得到了市场的认可,销售额稳步增长。

问答坊 | AI 解惑

premierelectronics

我是上海派睿电子的朱林 下面给您介绍下我们的3个网站 http://www.newark.com/ 这是我们美国的网站 http://uk.farnell.com/ 这是我们英国的网站 www.premierelectronics.com.cn 我们中国的网站 我们公司的简介请查看附件 谢谢 麻烦 ...…

查看全部问答>

tms320f28027的烧写

首先感谢soso了 提供F2802x_CSP_RTM升级烧写插件 有这个就太简单了 找到28027例程,也就是下载2802X的库文件 这里面有个flash的例程,打开这个程序,把那个Example_2802xFlash.c    Remove掉 加上自己主程序例如Example_2802xGpioT ...…

查看全部问答>

DSP与音频编解码器的连接

我是新手,想做个两路语音采集的电路板,选用TLV320AIC3101,但不知道这个音频编解码器的两个引脚(SDA,SCL)怎么和DSP相连,望有人指点。 [ 本帖最后由 flyingdsp 于 2009-3-24 17:47 编辑 ]…

查看全部问答>

谁在ARM9平台上驱动过单色液晶屏?

  想利用板子的扩展接口让板子提供对单色屏的支持,有朋友做过吗?能提供点相关资料吗?有的话发我邮箱:lylove1943@163.com 大恩不言谢,100分送上!!…

查看全部问答>

QTE是否可以移植到uClinux上呢

问题,如题。 曾尝试在qte根目录里mkspecs里添加arm-elf-g++目录,然后修改qmake.conf中的编译器名称,configure里指定用arm-elf-g++来编译,但是报错。请问大虾们是否有方法让qte或qtopia运行在uClinux平台呢?有的话要怎样做呢? …

查看全部问答>

显摆!MSP430开发的无线抄表系统

    响应SOSO号召出来显摆下,这是2007年的一个项目的初期文档,项目采用MSP430F149作为主控,小区内通过Zigbee芯片完成组网,然后经GPRS进行数据远程传输,上位机完成数据的分析统计功能,已经有公司将项目中的产品推向市场。这次 ...…

查看全部问答>

【设计工具】Virtex-5 用户指南

Virtex-5 系列概述本概述简要介绍 Virtex-5 系列的功能和产品选择。• Virtex-5 数据手册:直流和开关特性本数据手册包含 Virtex-5 系列的直流和开关特性指标。• Virtex-5 RocketIO GTP 收发器用户指南本指南介绍 Virtex-5 LXT 和 SXT ...…

查看全部问答>

LaunchPad实现AD转换 转换结果经UART通讯送给上位机

// 本程序用定时器A的比较/捕获功能来模拟UART接口,通信的波特率为9600. // 定义P1.1口为模拟串行发送,P1.2为模拟串行接收 //------------------------------------------------------------------------------ #include //--------------- ...…

查看全部问答>

分享一下自制的触摸摁键,有程序,有视频,有真相。

废话不多说,先上图诱惑下大家下 然后自拍了个视频,效果可能不是很好,不要介意哈~ $(\'flv_rZT\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allo ...…

查看全部问答>