欢迎来到天天文库
浏览记录
ID:20324479
大小:31.00 KB
页数:3页
时间:2018-10-10
《按键中断程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、*1个LED指示灯,对应的GPIO为:PC0输出为1点亮LED输出为0关闭LED另外PC1为外部中断触发:按键按下时为低电平,即可设置为低电平触发/*GPIO配置函数*/voidGPIO_Configuration(void){/*定义2个结构体变量*/GPIO_InitTypeDefGPIO_InitStructure;/*开启GPIOB,GPIOC,复用口时钟的时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Per
2、iph_GPIOC,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);/*给GPIOC_Pin_1一个初始值*/GPIO_ResetBits(GPIOC,GPIO_Pin_0);配置IO口,初始化IOGPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//将连接LED的GPIO设置为推挽输出GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置为2MHZ的速度,响应时间,没要求越小越好GPIO_Mod
3、e_IPU为输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;//初始化GPIOCGPIO_Init(GPIOC,&GPIO_InitStructure);/*给KEY_InitStructure.GPIO_PinKEY_InitStructure.GPIO_ModeKEY_InitStructure.GPIO_Speed付初始值*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//设置为上拉输入GPIO_InitStructure.GPIO_Mode=GPIO_
4、Mode_IPU;//设置为2MHZ的速度GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;//初始化GPIOBGPIO_Init(GPIOC,&GPIO_InitStructure);//设置GPIOC的中断标志位GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource1);}/******配置EXTI**********/voidEXTI_Configuration(void){//定义一个结构体EXTI_InitTypeDefEXTI_In
5、itStructure;//设置中段线EXTI_InitStructure.EXTI_Line=EXTI_Line1;//使能中断线EXTI_InitStructure.EXTI_LineCmd=ENABLE;//设置中断模式EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//设置中断触发方式EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//初始化中断EXTI_Init(&EXTI_InitStructure);}/********
6、配置优先级*****************/voidNVIC_Configuration(void){//定义一个结构体NVIC_InitTypeDefNVIC_InitStructure;//设置优先级组NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//设置存入寄存器NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);//设置外部中断1线这里对应的是外部中断1因为我选的是之前的PC1来触发另外EXTI5_9_IRQn则表示外部中断5-9线。NVIC_In
7、itStructure.NVIC_IRQChannel=EXTI1_IRQn;//使能优先级NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//配置抢断优先级这个是决定中断跳转可否嵌套的依据***非常重要NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//配置响应优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;//初始化优先级NVIC_Init(&NVIC_InitStructure)
8、;}//主函数intmain(void){/*//调用初始化GPIO函数GPIO_Configuration();EXTI_Configuration();NVIC_Config
此文档下载收益归作者所有