欢迎来到天天文库
浏览记录
ID:16134576
大小:299.00 KB
页数:5页
时间:2018-08-08
《stm32 学习笔记3--中断》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Stm32学习笔记3—外部中断1、外部中断程序编写方法①时钟(RCC)初始化②I/O端口初始化③EXTI配置,在这里配置需要选择哪个引脚作为中断引脚④NVIC配置,这也是比单片机多出来的部分,我们必须把NVIC中对应的通道使能,并且设置优先级别⑤编写中断处理程序2、EXTI配置voidexti_config(){EXTI_InitTypeDefEXTI_InitStructure;GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);/*设置PA0作为中断线路*//*EXT
2、I_ClearITPendingBit(EXTI_Line0);*/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(&EX
3、TI_InitStructure);/*初始化中断*/}①EXTI_InitTypeDef结构体EXTI_InitTypeDef定义于文件“stm32f10x_exti.h”:typedefstruct{u32EXTI_Line;EXTIMode_TypeDefEXTI_Mode;EXTIrigger_TypeDefEXTI_Trigger;FunctionalStateEXTI_LineCmd;}EXTI_InitTypeDef;参数说明EXTI_Line16连接PVD输出,EXTI_Line17连接RTC报警事件,EXTI_Lin
4、e18连接USB唤醒EXTI_LineCmd设为ENABLE或者DISABLE②函数GPIO_EXTILineConfig:选择GPIO管脚用作外部中断线路原型:voidGPIO_EXTILineConfig(u8GPIO_PortSource,u8GPIO_PinSource)输入:GPIO_PortSource:选择用作事件输出的GPIO端口GPIO_PinSourceGPIO_PinSource0GPIO_PinSource1GPIO_PinSource2GPIO_PinSource3值0x000x010x020x03GPIO_
5、PinSourceGPIO_PinSource4GPIO_PinSource5GPIO_PinSource6GPIO_PinSource7值0x040x050x060x07GPIO_PinSourceGPIO_PinSource8GPIO_PinSource9GPIO_PinSource10GPIO_PinSource11值0x080x090x0a0x0bGPIO_PinSourceGPIO_PinSource12GPIO_PinSource13GPIO_PinSource14GPIO_PinSource15值0x0c0x0d0x0e
6、0x0f③函数EXTI_Init:根据EXTI_InitTypeDef中指定的参数初始化外设EXTI寄存器原型:voidEXTI_Init(EXTI_InitTypeDef*EXTI_InitStruct)输入:参见结构EXTI_InitTypeDef1、NVIC配置voidnvic_config(){NVIC_InitTypeDefNVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);/*配置主从优先级*/NVIC_InitStructure.NVIC_I
7、RQChannel=EXTI0_IRQChannel;/*外部中断线0*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;/*抢断优先级*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;/*从优先级*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);/*初始化NVIC*/}①NVIC_InitTypeDefstructur
8、eNVIC_InitTypeDef定义于文件“stm32f10x_nvic.h”:typedefstruct{u8NVIC_IRQChannel;u8NVIC_IRQChannelPreemptionPriority;u
此文档下载收益归作者所有