51uwb.cn

 找回密码
 立即注册
查看: 3252|回复: 5

bphero_setcallbacks的调用

[复制链接]

35

主题

76

帖子

197

积分

官方会员

Rank: 8Rank: 8

积分
197
发表于 2021-9-12 18:00:37 | 显示全部楼层 |阅读模式
本帖最后由 兔子 于 2021-9-12 18:02 编辑

请问对于
    int rx_main中
    bphero_setcallbacks(Tx_Simple_Rx_Callback);//注册DW1000中断的回调函数
    的bphero_setcallbacks
其定义为
void (*bphero_rxcallback)(void);
void bphero_setcallbacks(void (*rxcallback)(void))
{
    bphero_rxcallback = rxcallback;
}
那么如此定义为什么可以完成向其中传入函数就进行中断函数的注册呢?
回复

使用道具 举报

35

主题

941

帖子

3910

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3910
发表于 2021-9-12 19:12:26 | 显示全部楼层
void (*bphero_rxcallback)(void);
这个是函数指针。下面的代码是向这个指针赋值。 你可以看下中断函数,中断里会调用
  1. void bphero_setcallbacks(void (*rxcallback)(void))
  2. {
  3.     bphero_rxcallback = rxcallback;
  4. }
复制代码
回复

使用道具 举报

35

主题

76

帖子

197

积分

官方会员

Rank: 8Rank: 8

积分
197
 楼主| 发表于 2021-9-14 09:50:54 | 显示全部楼层
蓝点无限 发表于 2021-9-12 19:12
void (*bphero_rxcallback)(void);
这个是函数指针。下面的代码是向这个指针赋值。 你可以看下中断函数, ...

请问在什么情况下执行回调函数是在哪里定义的?~
我怎么没有找到捏
回复

使用道具 举报

35

主题

941

帖子

3910

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3910
发表于 2021-9-14 21:34:11 | 显示全部楼层
兔子 发表于 2021-9-14 09:50
请问在什么情况下执行回调函数是在哪里定义的?~
我怎么没有找到捏
  1. extern void (*bphero_rxcallback)(void);
  2. //extern void Simple_Rx_Callback(void);
  3. void EXTI0_IRQHandler(void)
  4. {
  5.     /* USER CODE BEGIN EXTI0_IRQn 0 */
  6.     if(__HAL_GPIO_EXTI_GET_IT(GPIO_PIN_0) != RESET)
  7.     {
  8.         (*bphero_rxcallback)();
  9. //        Tx_Simple_Rx_Callback();
  10.         /* USER CODE END EXTI0_IRQn 0 */
  11.         HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
  12.         /* USER CODE BEGIN EXTI0_IRQn 1 */
  13.     }
  14.     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_0);
  15.     /* USER CODE END EXTI0_IRQn 1 */
  16. }
复制代码


stm32f4xx_it.c
回复

使用道具 举报

35

主题

76

帖子

197

积分

官方会员

Rank: 8Rank: 8

积分
197
 楼主| 发表于 2021-9-18 19:28:16 | 显示全部楼层
本帖最后由 兔子 于 2021-9-18 19:31 编辑

请问“有接收到信号会调用这个中断”的含义在这段代码里如何体现呢/在哪里体现的呢   
回复

使用道具 举报

35

主题

941

帖子

3910

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3910
发表于 2021-9-19 09:40:06 | 显示全部楼层
兔子 发表于 2021-9-18 19:28
请问“有接收到信号会调用这个中断”的含义在这段代码里如何体现呢/在哪里体现的呢

看STM32 中断配置和 DW1000 or DWM1000 interrupt 引脚连接情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-3-29 21:52 , Processed in 0.014148 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表