完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
HAL库中的中断,在callback回调函数和中断函数中处理有何区别
比如定时中断 在it.c中的中断函数基本不处理内容 void tiM2_IRQHandler(void) { /* USER CODE BEGIN TIM2_IRQn 0 */ /* USER CODE END TIM2_IRQn 0 */ HAL_TIM_IRQHandler(&htim2); /* USER CODE BEGIN TIM2_IRQn 1 */ /* USER CODE END TIM2_IRQn 1 */ } 真正的处理在 main.c中的 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { //if(htim == (&htim1)) if(TIM1 == htim->Instance) { } } 如果闲callback麻烦,直接在.c中处理可以吗?他们有什么区别吗? |
|
相关推荐
9个回答
|
|
没啥区别,HAL只是给你提供了一个基本框架,便于统一
|
|
|
|
可以,这个只是方便移植。比如从103移植到407。
|
|
|
|
|
|
其实ST是把中断处理的细节给封装了起来,回掉函数是暴露给开发者的接口函数,开发者只需要在回调函数中实现特定的功能即可。这样的好处是简化了开发过程(理论上是这样的,但是对于用惯了标准库的我来说,还是有些不适应,感觉都被束缚了,还是习惯自己动手实现中断过程)。同时也便于不同型号的MCU软件之间的移植。
|
|
|
|
这样 便于 移植,架构统一
|
|
|
|
学习。。。。
|
|
|
|
|
|
原来是这样的
|
|
|
|
为了方便移植。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2162 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1997 浏览 3 评论
4593 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2140 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2659 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 11:15 , Processed in 0.682819 second(s), Total 59, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号