完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1.了解按键的接线。常见的按键接线方式是:按键一端接到MCU,另外一端接到GND。如下图所示:
第三部分:外部中断的配置。 配置外部中断线。每一个引脚对应一条中断线。 配置中断方式:中断或是事件。 配置边沿触发:上升沿、下降沿、边沿。 /* *功能:KEY初始化 * 参数:无 * 返回值:无 */ void KEY_Init(void) { EXTI_InitTypeDef EXTI_InitStruct; NVIC_InitTypeDef NVIC_InitStruct; GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); /************* 第一部分 **************/ GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOC, &GPIO_InitStruct); /************* 第二部分 **************/ GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6); NVIC_InitStruct.NVIC_IRQChannel=EXTI9_5_IRQn; NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2; NVIC_InitStruct.NVIC_IRQChannelSubPriority=2; NVIC_Init(&NVIC_InitStruct); /************* 第三部分 **************/ EXTI_InitStruct.EXTI_Line=EXTI_Line6; EXTI_InitStruct.EXTI_LineCmd=ENABLE; EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt; EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling; EXTI_Init(&EXTI_InitStruct); } 3.中断服务程序,在中断处理函数里面可以实现简单的处理程序。尽量不要在里面处理太多东西,内容尽量的少。 //按键中断服务程序 void EXTI9_5_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line6) != RESET) //检测是否触发对应的中断 { delay_ms(10); key1_on=~key1_on; if(key1_on) { LCD_ShowString_12X24(24*6,5, "LED", White, Black,1); } else { LCD_ShowString_12X24(24*6,5, " ", White, Black,1); } } EXTI_ClearITPendingBit(EXTI_Line6); } 注意:可能遇到的问题 问题:按键反应太过灵敏,有时候按一次会触发多次。 解决:在按键的两端(上图中的4和2)连接一个104电容。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
996 浏览 0 评论
3337 浏览 9 评论
3014 浏览 16 评论
3506 浏览 1 评论
9101 浏览 16 评论
1220浏览 3评论
631浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
620浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2363浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1928浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 01:49 , Processed in 1.130842 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号