完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
以下为代码
main.c: int main(void) { HAL_Init(); SystemClock_Config(); /* Configure the system clock to 64 MHz */ /* Add your application code here */ gpio_init(); nvic_init(); while(1) { HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2,GPIO_PIN_RESET); } } void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_2) { // HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_2); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2,GPIO_PIN_SET); HAL_Delay(10); } } 中断部分: void EXTI2_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); } EXTI初始化部分: #include"exti0.h" void gpio_init() { GPIO_InitTypeDef GPIO_InitStruct; // SystemInit(); __HAL_RCC_GPIOE_CLK_ENABLE(); //ʹÄܶ˿ÚAµÄÍâÉèʱÖÓ __HAL_RCC_GPIOC_CLK_ENABLE(); //ʹÄܶ˿ÚAµÄÍâÉèʱÖÓ __HAL_RCC_AFIO_CLK_ENABLE(); // ÅäÖÃGPIOC_2×÷ΪLEDµãÁÁ¿Ú GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_InitStruct.Pin = GPIO_PIN_2; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); // ÉÏÉýÑØ²úÉúÖÐ¶Ï PA0 GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Pin = GPIO_PIN_2; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); } void nvic_init() { // HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_1); //ÉèÖÃ1¸öÇÀÕ¼¼¶£¬3¸ö¸±ÓÅÏȼ¶ HAL_NVIC_SetPriority(EXTI2_IRQn,0,0); //ÉèÖÃEXTI0Ϊ×î¸ß¼¶µÄÇÀÕ¼ÓÅÏȺ͸±ÓÅÏÈ HAL_NVIC_EnableIRQ(EXTI2_IRQn); //ʹÄÜIRQÖÐ¶Ï } ******************************************************************* 但是就是在下载仿真的过程中,发现只要摁下开关,触发中断,然后控制闪灯,但是等就永远的熄灭了,这是为什么 |
|
相关推荐
2 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2961 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2463 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2331 浏览 0 评论
2455 浏览 1 评论
1674 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 02:31 , Processed in 0.817912 second(s), Total 42, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3302