打印
[STM32F4]

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

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

使用特权

评论回复
沙发
jlyuan| | 2020-10-11 17:19 | 只看该作者
觉得就像是中断处理函数一样,这个到底怎么理解?

使用特权

评论回复
板凳
huangchui| | 2020-10-11 17:25 | 只看该作者

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



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

使用特权

评论回复
地板
wyjie|  楼主 | 2020-10-11 17:28 | 只看该作者

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

使用特权

评论回复
5
jiajs| | 2020-10-11 17:33 | 只看该作者
Callback()是回调函数吧

使用特权

评论回复
6
zhanghqi| | 2020-10-11 17:37 | 只看该作者
是开启中断后,回调函数。

使用特权

评论回复
7
wyjie|  楼主 | 2020-10-11 17:40 | 只看该作者
开启中断后,如何回调函数?这个东西就是中断触发后执行的函数吗?

使用特权

评论回复
8
yszong| | 2020-10-11 17:47 | 只看该作者
应该和标准固件库的中断处理函数一样吧

使用特权

评论回复
9
liuzaiy| | 2020-10-11 17:50 | 只看该作者
中断发生后进入ADC_IRQHandler 函数,最终会调用到HAL_ADC_ConvCpltCallback

使用特权

评论回复
10
tian111| | 2020-10-11 17:53 | 只看该作者
如果明白调用机制,你自然会用,如果不明白,也教不会你

使用特权

评论回复
11
huwr| | 2020-10-11 18:03 | 只看该作者
就是中断回调函数啊

使用特权

评论回复
12
tian111| | 2020-10-11 18:06 | 只看该作者
进入中断后,你想干什么 就写什么

使用特权

评论回复
13
pengf| | 2020-10-11 18:09 | 只看该作者
就是你进入中断之后需要干什么 就在这里处理就行

使用特权

评论回复
14
renyaq| | 2020-10-11 18:12 | 只看该作者
其实就是一个函数名字 你添加函数体就行

使用特权

评论回复
15
gongche| | 2020-10-11 18:17 | 只看该作者
留给用户的一个处理接口,根据需要决定是否使用

使用特权

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

使用特权

评论回复
17
xxmmi| | 2020-10-11 18:23 | 只看该作者
貌似是中断吧

使用特权

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

使用特权

评论回复
19
wanduzi| | 2020-10-11 20:59 | 只看该作者
HAL库函数能把人绕晕。

使用特权

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

本版积分规则

927

主题

12706

帖子

5

粉丝