![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
huitailang_1_1
这个作者很懒,什么都没留下…
展开
-
回调函数(函数指针)使用场景
1.底层消息通知上层 典型的中断类型的外围达到触发条件,需要通知上层去主动读取详细情况;2.不同模块的同步调用 A和B两个模块,A模块在运行过程中需要调用B模块中的一个接口,拿到B模块执行结果A才能继续往下执行,这个时候如果使用消息队列,等B得到执行了,A已经跑完了;回调函数解决不同模块同步调用的解耦问题;3.异步执行的结果返回 A模块执行过程中发送消息到B模块执行函数,B模块执行完后需要实时地将执行结果返回A模块,在消息队列中塞一个指针即可;4.中间层驱动的底层驱动依赖注册使...原创 2022-04-18 10:45:35 · 460 阅读 · 0 评论 -
函数未定义原因
之前总结过函数未定义的原因,时间久了容易发懵1.没有添加路径;2.添加的里没有该h文件;3.同一个工程下有多个同名的h文件,恰好被引用的h文件中没有这个函数4.没有将c文件添加进入工程中编译,在使用sdk的驱动文件的时候经常会忘记这点,写出来做提醒...原创 2019-06-21 15:38:39 · 6887 阅读 · 0 评论 -
time.h文件时间戳函数的使用
标准c里有一个time.h文件,里面提供一些时间计算函数;extern _ARMABI time_t mktime(struct tm * /*timeptr*/) __attribute__((__nonnull__(1))); /* * converts the broken-down time, expressed as local time, in the struct...原创 2019-05-27 14:50:30 · 1585 阅读 · 0 评论 -
nrf 软件定时器
52810的软件定时器建立在一个rtc的基础上,使用一个rtc计时。rtc作为一个发动机一直在跑。rtc以tick为单位进行中断触发,每增加一个tick就来一次中断,中断到来之后就和队列预期的tick值比较,如果一样就执行时钟handler。所有的时钟都是按照压入一个钟队列内进行处理。当create一个时钟时程序只是创建了一个时钟队列的结点,保存handler等信息,此时并没有入队。...原创 2018-09-08 18:44:02 · 1565 阅读 · 0 评论 -
c语言基础
1.对于结构体的使用,当前值是结构体实体时使用 . 符号引用,当前值是结构体指针时使用 -> 符号引用 //定义一个结构体指针 struct Student stu; struct Student * student = &stu; stu.score = 90.0f; stu.num = 102; st...原创 2018-03-10 17:31:19 · 253 阅读 · 0 评论