上一篇讲述了管脚配置,现在说一下管脚中断配置和使用这篇讲述按键中断; 图一中断按键 图二 STM32F030 图一为产生中的触发按键,外接10K上拉电阻,常态时SET呈现为高电平,按键按下去之后,产生一个下降沿波形,后面我们设置中断触发类型时可以设置成下降沿触发,图二的PA0为检测中断的管脚。 图三的功能我在上篇文章里已经讲述,在这里我在重述一下,是开启管脚时钟,STM32 MCU在使用前必须配置系统时钟和管脚时钟,不然就不能正常使用。 图三开启管脚时钟 图四是中断管脚状态、中断线、中断映射配置;GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;NVIC_InitTypeDef NVIC_InitStruct;这三句是定义结构体(不明白的可以学习C语言基本知识);按键中断是配置检测管脚的一个状态,这里设置为输入状态。 SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);这句的意思是让管脚和中断线产生关联,即映射关系。 图四 图五是中断触发边沿和中断优先级设置,在这块设置了捕获产生中断的方式为下降沿触发,设置中断优先级。 图五 设置完中断之后我们定位到相应的中断函数里面, void EXTI0_1_IRQHandler(void) { // uint8_t i; extern volatile uint8_t BTSense;; if((EXTI->PR & EXTI_Line0) != (uint32_t)RESET) { EXTI->PR = EXTI_Line0; set_flag=1;//这个就是目标管脚产生的中断,set-flag为自定义全局变量 } } 下一篇我们利用前面的知识,熟悉管脚的实际使用,采用单总线方式读取温度传感器数据(达拉斯温度传感器)。 |
一线QQ:2821046851⋅小黑屋⋅免责声明⋅一线生活-深圳论坛 ( 豫ICP备14009102号-1 )
Powered by Discuz! X3.4 Licensed © 2001-2013 Comsenz Inc.