打印
[STM32F4]

STM32库函数里众多的Callback()怎么使用

[复制链接]
860|52
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2022-11-6 20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32库函数里众多的Callback()怎么使用

使用特权

评论回复
沙发
llljh| | 2022-11-6 20:29 | 只看该作者
觉得就像是中断处理函数一样,这个到底怎么理解?

使用特权

评论回复
板凳
香水城| | 2022-11-7 11:27 | 只看该作者
这些回调函数只是STM32库给用户准备的一些接口,只是函数框架。

当发生相应的初始化或中断事件时,可以被调用,但函数主体内容由我们使用者填写。

对于那些中断回调函数 可以看成中断服务程序的一部分,因为不知用户会具体写什么,通常我们看到的库里面的回调函数 只是个框架,具体内容由用户填写。

库准备那些回调函数接口,目的是为了方便用户,用户只需针对性填写代码即可。

当然,我们也完全可以不理睬这些。我们基于不同事件自行组织代码也是可以的。



使用特权

评论回复
地板
chuxh| | 2022-11-11 18:48 | 只看该作者

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle)
{
  /* Turn LED3 on: Transfer process is correct */
  BSP_LED_On(LED3);
}



比如这个函数。根据意思是转换结束后,调用该函数。

使用特权

评论回复
5
wyjie|  楼主 | 2022-11-11 18:51 | 只看该作者

嗯,而头文件里定义的中断入口都是如下这样的。
               DCD     ADC_IRQHandler                    ; ADC1, ADC2 and ADC3s  
                 EXPORT  ADC_IRQHandler                    [WEAK]  

使用特权

评论回复
6
dingy| | 2022-11-11 18:53 | 只看该作者

Callback()是回调函数吧

使用特权

评论回复
7
supernan| | 2022-11-11 18:54 | 只看该作者
是开启中断后,回调函数。

使用特权

评论回复
8
lizye| | 2022-11-11 18:57 | 只看该作者
开启中断后,如何回调函数?这个东西就是中断触发后执行的函数吗?

使用特权

评论回复
9
午夜粪车| | 2022-11-11 18:59 | 只看该作者
应该和标准固件库的中断处理函数一样吧

使用特权

评论回复
10
wyjie|  楼主 | 2022-11-11 19:01 | 只看该作者
中断发生后进入ADC_IRQHandler 函数,最终会调用到HAL_ADC_ConvCpltCallback

使用特权

评论回复
11
juventus9554| | 2022-11-11 19:03 | 只看该作者
如果明白调用机制,你自然会用,如果不明白,也教不会你

使用特权

评论回复
12
dengdc| | 2022-11-11 19:06 | 只看该作者
就是中断回调函数啊

使用特权

评论回复
13
huangchui| | 2022-11-11 19:07 | 只看该作者
进入中断后,你想干什么 就写什么

使用特权

评论回复
14
chuxh| | 2022-11-11 19:09 | 只看该作者
就是你进入中断之后需要干什么 就在这里处理就行

使用特权

评论回复
15
wuhany| | 2022-11-11 19:15 | 只看该作者
其实就是一个函数名字 你添加函数体就行

使用特权

评论回复
16
午夜粪车| | 2022-11-11 19:17 | 只看该作者
留给用户的一个处理接口,根据需要决定是否使用

使用特权

评论回复
17
wyjie|  楼主 | 2022-11-11 19:19 | 只看该作者
使用的时候怎么用,什么情况下才可以调用该函数?

使用特权

评论回复
18
dingy| | 2022-11-11 19:21 | 只看该作者
貌似是中断吧

使用特权

评论回复
19
pengf| | 2022-11-11 19:23 | 只看该作者
HAL库函数能把人绕晕。

使用特权

评论回复
20
wyjie|  楼主 | 2022-11-11 19:26 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝