中断分为两路:12345用于产生中断;678产生事件
外设为NVIC
设计流程:
- 使能外设中断
- 设置中断优先级分组
- 初始化结构体
- 编写中断服务函数
初始化结构体:
typedef struct
{uint8_t NVIC_IRQChannel; 指定要使能或禁用的中断通道例如: TIM3_IRQn表示定时器3中断uint8_t NVIC_IRQChannelPreemptionPriority; 指定NVIC_IRQChannel对应的抢占优先级,值越小优先级越高, 抢占优先级决定了当多个中断同时发生时的响应顺序uint8_t NVIC_IRQChannelSubPriority;//NVIC_IRQChannel对应的子优先级(响应优先级)当多个中断的抢占优先级相同时,子优先级决定响应顺序FunctionalState NVIC_IRQChannelCmd;//NVIC_IRQChannel定义的中断通道设置为ENABLE时,该中断通道将被使能并可触发中断服务
} NVIC_InitTypeDef;