Image
Image

hanzhen654

+ 关注

粉丝 2     |     主题 73     |     回帖 1766

stm32中用到的函数指针和回调函数
2020-7-2 17:55
  • ST MCU
  • 27
  • 3019
  运行结果如下,成功打印出run.c文件run函数中cout变量传上来的值。  
  在main.c中为fun1添加一个参数 int i 来接收底层传入的参数count,这样就可以通过回调函数的形式来接收底层 ...  
  你以为结束了吗?远远没有,有时候我们想从底层拿些数据,是不是可以通过回调函数来拿取呢?肯定可以的,修 ...  
  运行结果跟上面一样,但这种看上去更加牛X,瞬间提高了逼格,以后我们应该学着去写一些有逼格的东西,显得 ...  
  这样在main.c可以删除对函数指针p的声明,直接声明install_fun函数,具体代码如下: ...  
  一般在run.c中添加一个安装函数 install_fun,该函数带有一个函数指针参数,直接将函数名传进来,其中的 p是 ...  
  main.c中添加对函数指针的赋值,运行程序,run.c中的run函数会每秒调用一次main.c中的fun1函数。 ...  
  为了避免悲剧的诞生,需要对run.c中的run函数进行优化,定义函数指针p的时候对其初始化 void (*p)(void) = ...  
  果不其然,出现了段错误。  
  run.c中定义了一个函数指针,且在run函数中直接对函数指针p运行,此方式存在着一定的bug,使用者在main.c中 ...  
  回调函数 下面我们用两个.c文件和一个run.h文件来实现另一个功能,定义main.c和run.c文件,在run.c和run.h ...  
  那么问题了,我们有函数不去调用,为什么还要定义一个函数指针去执行对应的函数,再去用函数指针来执行,看 ...  
  运行效果  
  函数指针的执行: int main(int argc,char*argv[]) { void (*p1)(void); p1 =fun1; p1(); // ...  
  2.函数指针的赋值: void fun1() { printf("i am is fun1\r\n"); } int main(int argc,char*argv[]) { ...  
STM32F429+OV5642实现二维码识别
2022-7-25 16:03
  • ST MCU
  • 113
  • 11129
  下载学习一下,感谢分享  
新一代无线双核微控制器STM32WB开发套件P-NUCLEO-WB55评测
2020-3-22 12:05
  • ST MCU
  • 23
  • 6152
  前几天有个活动可以申请的  
C 语言回调函数详解
2020-8-12 09:17
  • ST MCU
  • 32
  • 3673
  有个困惑?回调函数和注册函数什么关系?  
STM32开发的微波理疗仪
2023-12-24 10:29
  • ST MCU
  • 96
  • 4039
  **文有意思吗?我是服了  
STM32真是难搞!
2020-4-16 09:36
  • ST MCU
  • 48
  • 4387
  STM32Cube IDE了解一下  
2
3
近期访客