查看: 2353|回复: 3

请问大神如何去开关STM32F03的总中断

[复制链接]

该用户从未签到

发表于 2015-8-10 16:00:41 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 酷酷羊-340901 于 2015-8-10 16:02 编辑

最近刚入手STM32F0系列的单片机,可是找了很久都不知道如何去开关它的总中断。

评分

参与人数 1与非币 +5 收起 理由
loveeeboard + 5 三周年铜板双倍!

查看全部评分

回复

使用道具 举报

  • TA的每日心情

    2016-11-17 13:26
  • 签到天数: 410 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-10 16:05:40 | 显示全部楼层
    本帖最后由 woshizz 于 2015-8-10 16:11 编辑

    stm32可屏蔽中断共有60个,这里用了两个32位的寄存器,可以表示64个中断。stm32只用了前60位。 若要使能某个中断,则必须设置相应的ISER位为1。
    具体每一位对应的中断关系如下:(参见 MDK下的 stm32f10x_nvic.h)
    [size=1em][size=1em]
    01
    #define WWDG_IRQChannel              ((u8)0x00)  /* Window WatchDog Interrupt */

    [size=1em]
    02
    #define PVD_IRQChannel               ((u8)0x01)  /* PVD through EXTI Line detection Interrupt */

    [size=1em]
    03
    #define TAMPER_IRQChannel            ((u8)0x02)  /* Tamper Interrupt */

    [size=1em]
    04
    #define RTC_IRQChannel               ((u8)0x03)  /* RTC global Interrupt */

    [size=1em]
    05
    #define FLASH_IRQChannel             ((u8)0x04)  /* FLASH global Interrupt */

    [size=1em]
    06
    #define RCC_IRQChannel               ((u8)0x05)  /* RCC global Interrupt */

    [size=1em]
    07
    #define EXTI0_IRQChannel             ((u8)0x06)  /* EXTI Line0 Interrupt */

    [size=1em]
    08
    #define EXTI1_IRQChannel             ((u8)0x07)  /* EXTI Line1 Interrupt */

    [size=1em]
    09
    #define EXTI2_IRQChannel             ((u8)0x08)  /* EXTI Line2 Interrupt */

    [size=1em]
    10
    #define EXTI3_IRQChannel             ((u8)0x09)  /* EXTI Line3 Interrupt */

    [size=1em]
    11
    #define EXTI4_IRQChannel             ((u8)0x0A)  /* EXTI Line4 Interrupt */

    [size=1em]
    12
    #define DMA1_Channel1_IRQChannel     ((u8)0x0B)  /* DMA1 Channel 1 global Interrupt */

    [size=1em]
    13
    #define DMA1_Channel2_IRQChannel     ((u8)0x0C)  /* DMA1 Channel 2 global Interrupt */

    [size=1em]
    14
    #define DMA1_Channel3_IRQChannel     ((u8)0x0D)  /* DMA1 Channel 3 global Interrupt */

    [size=1em]
    15
    #define DMA1_Channel4_IRQChannel     ((u8)0x0E)  /* DMA1 Channel 4 global Interrupt */

    [size=1em]
    16
    #define DMA1_Channel5_IRQChannel     ((u8)0x0F)  /* DMA1 Channel 5 global Interrupt */

    [size=1em]
    17
    #define DMA1_Channel6_IRQChannel     ((u8)0x10)  /* DMA1 Channel 6 global Interrupt */

    [size=1em]
    18
    #define DMA1_Channel7_IRQChannel     ((u8)0x11)  /* DMA1 Channel 7 global Interrupt */

    [size=1em]
    19
    #define ADC1_2_IRQChannel            ((u8)0x12)  /* ADC1 et ADC2 global Interrupt */

    [size=1em]
    20
    #define USB_HP_CAN_TX_IRQChannel     ((u8)0x13)  /* USB High Priority or CAN TX Interrupts */

    [size=1em]
    21
    #define USB_LP_CAN_RX0_IRQChannel    ((u8)0x14)  /* USB Low Priority or CAN RX0 Interrupts */

    [size=1em]
    22
    #define CAN_RX1_IRQChannel           ((u8)0x15)  /* CAN RX1 Interrupt */

    [size=1em]
    23
    #define CAN_SCE_IRQChannel           ((u8)0x16)  /* CAN SCE Interrupt */

    [size=1em]
    24
    #define EXTI9_5_IRQChannel           ((u8)0x17)  /* External Line[9:5] Interrupts */

    [size=1em]
    25
    #define TIM1_BRK_IRQChannel          ((u8)0x18)  /* TIM1 Break Interrupt */

    [size=1em]
    26
    #define TIM1_UP_IRQChannel           ((u8)0x19)  /* TIM1 Update Interrupt */

    [size=1em]
    27
    #define TIM1_TRG_COM_IRQChannel      ((u8)0x1A)  /* TIM1 Trigger and Commutation Interrupt */

    [size=1em]
    28
    #define TIM1_CC_IRQChannel           ((u8)0x1B)  /* TIM1 Capture Compare Interrupt */

    [size=1em]
    29
    #define TIM2_IRQChannel              ((u8)0x1C)  /* TIM2 global Interrupt */

    [size=1em]
    30
    #define TIM3_IRQChannel              ((u8)0x1D)  /* TIM3 global Interrupt */

    [size=1em]
    31
    #define TIM4_IRQChannel              ((u8)0x1E)  /* TIM4 global Interrupt */

    [size=1em]
    32
    #define I2C1_EV_IRQChannel           ((u8)0x1F)  /* I2C1 Event Interrupt */

    [size=1em]
    33
    #define I2C1_ER_IRQChannel           ((u8)0x20)  /* I2C1 Error Interrupt */

    [size=1em]
    34
    #define I2C2_EV_IRQChannel           ((u8)0x21)  /* I2C2 Event Interrupt */

    [size=1em]
    35
    #define I2C2_ER_IRQChannel           ((u8)0x22)  /* I2C2 Error Interrupt */

    [size=1em]
    36
    #define SPI1_IRQChannel              ((u8)0x23)  /* SPI1 global Interrupt */

    [size=1em]
    37
    #define SPI2_IRQChannel              ((u8)0x24)  /* SPI2 global Interrupt */

    [size=1em]
    38
    #define USART1_IRQChannel            ((u8)0x25)  /* USART1 global Interrupt */

    [size=1em]
    39
    #define USART2_IRQChannel            ((u8)0x26)  /* USART2 global Interrupt */

    [size=1em]
    40
    #define USART3_IRQChannel            ((u8)0x27)  /* USART3 global Interrupt */

    [size=1em]
    41
    #define EXTI15_10_IRQChannel         ((u8)0x28)  /* External Line[15:10] Interrupts */

    [size=1em]
    42
    #define RTCAlarm_IRQChannel          ((u8)0x29)  /* RTC Alarm through EXTI Line Interrupt */

    [size=1em]
    43
    #define USBWakeUp_IRQChannel         ((u8)0x2A)  /* USB WakeUp from suspend through EXTI Line Interrupt */

    [size=1em]
    44
    #define TIM8_BRK_IRQChannel          ((u8)0x2B)  /* TIM8 Break Interrupt */

    [size=1em]
    45
    #define TIM8_UP_IRQChannel           ((u8)0x2C)  /* TIM8 Update Interrupt */

    [size=1em]
    46
    #define TIM8_TRG_COM_IRQChannel      ((u8)0x2D)  /* TIM8 Trigger and Commutation Interrupt */

    [size=1em]
    47
    #define TIM8_CC_IRQChannel           ((u8)0x2E)  /* TIM8 Capture Compare Interrupt */

    [size=1em]
    48
    #define ADC3_IRQChannel              ((u8)0x2F)  /* ADC3 global Interrupt */

    [size=1em]
    49
    #define FSMC_IRQChannel              ((u8)0x30)  /* FSMC global Interrupt */

    [size=1em]
    50
    #define SDIO_IRQChannel              ((u8)0x31)  /* SDIO global Interrupt */

    [size=1em]
    51
    #define TIM5_IRQChannel              ((u8)0x32)  /* TIM5 global Interrupt */

    [size=1em]
    52
    #define SPI3_IRQChannel              ((u8)0x33)  /* SPI3 global Interrupt */

    [size=1em]
    53
    #define UART4_IRQChannel             ((u8)0x34)  /* UART4 global Interrupt */

    [size=1em]
    54
    #define UART5_IRQChannel             ((u8)0x35)  /* UART5 global Interrupt */

    [size=1em]
    55
    #define TIM6_IRQChannel              ((u8)0x36)  /* TIM6 global Interrupt */

    [size=1em]
    56
    #define TIM7_IRQChannel              ((u8)0x37)  /* TIM7 global Interrupt */

    [size=1em]
    57
    #define DMA2_Channel1_IRQChannel     ((u8)0x38)  /* DMA2 Channel 1 global Interrupt */

    [size=1em]
    58
    #define DMA2_Channel2_IRQChannel     ((u8)0x39)  /* DMA2 Channel 2 global Interrupt */

    [size=1em]
    59
    #define DMA2_Channel3_IRQChannel     ((u8)0x3A)  /* DMA2 Channel 3 global Interrupt */

    [size=1em]
    60
    #define DMA2_Channel4_5_IRQChannel   ((u8)0x3B)  /* DMA2 Channel 4 and DMA2 Channel 5 global Interrupt */



    系统中断这里没有申明,所以导致一些系统中断无法使用,比如 systick的中断

    所以 楼主只需要设置上述寄存器内容全0即可
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-8-10 16:11:33 | 显示全部楼层
    woshizz 发表于 2015-8-10 16:05
    楼主辛苦了 真是好人啊

    ??啥情况啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-11-17 13:26
  • 签到天数: 410 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-10 16:18:45 | 显示全部楼层
    浏览器自动记忆上一次回复内容导致的 ,抱歉了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 16:22 , Processed in 0.155490 second(s), 26 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.