
刚用cube不久对HAL库不熟悉,对于callback这个函数仅仅看hal library无法知道他的道道。 再工程里面一个名叫stm32f1xx_hal_gpio.h的头文件中有这么个函数定义。 原来cubemx会自动设置好相应的 HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin),使用中断函数只需要在 HAL_GPIO_EXTI_Callback(GPIO_Pin)中写入你所需执行的逻辑即可。 ================================================================== void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) { /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); HAL_GPIO_EXTI_Callback(GPIO_Pin); } } =============================================================== void EXTI15_10_IRQHandler(void) { /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ /* USER CODE BEGIN EXTI15_10_IRQn 1 */ /* USER CODE END EXTI15_10_IRQn 1 */ } =============================================================== 写的恨水,请大虾们与各位海涵。如果有好的HAL学习方法也请各位多多赐教。 |
这个其实怎么说,HAL的库,我感觉比标准库稍稍麻烦一些。但是毕竟先入为主,可能更多的人更习惯于标准库,我也在适应,也想转HAL的库。毕竟可以结合MX工具来的。 |
HAL的库不易用,我换回标准库了。没必要大统一。 |
有没有人讲讲hal库 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
现在标准库已经停更了,st准备主推hal库,但是培训并没有跟上,第三方关于cube的学习资料也很少。等把st总会不断完善的。 |