|
接上篇:STM32F0的LL库使用(二) 不要问我为什么这么慢,最近卡在了UART接收中断。不知道为什么,HAL库进接收中断都没有任何反应。 这都不是重点,现在继续GPIO这一部分,就差中断了。咱们还是老样子。 硬件:STM32F030F4P6,STLINK-V2-1(即NUCLEO板载仿真器) 软件:CubeMX+IAR(V8.20) LL库版本V1.9.0 初始化截图:
/********************************************** *********************************************** *********************************************** *****************************************等待线* ************************************************ ************************************************ **************************************************/ 主函数里什么都不加,当然你随意,咱们只要有中断现象就可以了。 我们在这里写一个: /* USER CODE BEGIN 4 */ void LL_EXTI_LINE_5_Callback(void)//PA5中断服务子程序 须在mian.h中再定义 { uint8_t i=0; for(;i<10;i++) { LL_mDelay(100); LL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); } } /* USER CODE END 4 */ 看注释! 在编译器中打开"stm32f0xx_it.h" void EXTI4_15_IRQHandler(void) { /* USER CODE BEGIN EXTI4_15_IRQn 0 */ LL_mDelay(10);//按键消抖 /* USER CODE END EXTI4_15_IRQn 0 */ if (LL_EXTI_IsActiveFlag_0_31(LL_EXTI_LINE_5) != RESET) { LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_5); /* USER CODE BEGIN LL_EXTI_LINE_5 */ LL_EXTI_LINE_5_Callback();//PA5中断服务子程序 /* USER CODE END LL_EXTI_LINE_5 */ } /* USER CODE BEGIN EXTI4_15_IRQn 1 */ /* USER CODE END EXTI4_15_IRQn 1 */ } 加入我们刚刚写好的中断服务子程序 下载,将PA5接高电平,你也可以接按钮。看LED是否有闪烁,没有就把板子扔了吧。 |
微信公众号
手机版
比如什么情况?
比如对时间不是太敏感的,可以用hal,对时间要求高的,而且经常调用的比如刷屏等等,可以用ll
可以通过这些LL库例子去理解STM32F0的寄存器吧,先熟悉库。
https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html
你可以去CUBEMX的F1的工程例子里面找到你想要的LL库例子。貌似现在我只看到NUCLEOF103R8有LL库,部分代码可以直接复制粘贴。F4也是一样。