博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACfly工程Freertos层面上解析
阅读量:4082 次
发布时间:2019-05-25

本文共 693 字,大约阅读时间需要 2 分钟。

 

 

 

 

 

 

 

每个传感器都会创建一个任务,在每个传感器的驱动文件的最末尾(在每个传感器对应的Init函数中),传感器的驱动文件的大部分就是这个任务的执行函数。

 

我随便拿一个传感器驱动文件出来,比如这是光流的驱动文件。

 

然后所有传感器的Init函数在drv_Main.cpp的init_drv_Main()函数中被调用,也就是调用init_drv_Main()这个函数就可以把所有的传感器任务都创建起来。

 

init_drv_Main()函数又是在DriverInit_task()中被调用,在main.cpp里面

而DriverInit_task()又是一个任务的执行函数,而且这个任务是main函数里面唯一一个被创建的任务。!!!!!!!

 

 

控制的任务在这里 ctrl_Main.cpp的init_ControlSystem()函数里创建,而且这个任务的执行函数也在 ctrl_Main.cpp里面,感觉布局和传感器的驱动文件类似。

 

 

init_ControlSystem()函数又是在main.cpp里面的DriverInit_task()函数被调用,这个函数也即是main函数里面创建的唯一一个任务的执行函数。

 

 

 

 

 

 

我想起来了,传感器的值是通过传感器更新函数传给那个不开源的部分(叫姿态解算?)了,所以你找不到他通过什么在任务间传递传感器数据的。包括我再控制任务里面似乎也没有找到这方面获取数据的函数。

我怀疑那个传感器更新函数就是封装的一个消息发送函数,发送给对应的任务去处理的,我怀疑是这样的。

 

 

 

我还有一点不明白的地方就是串口驱动那里为什么会有那么多信号量的操作,难道操作系统下的串口程序也得改么。

转载地址:http://pmlni.baihongyu.com/

你可能感兴趣的文章
React native 分辨率适配
查看>>
ReactNative与Android中的屏幕适配
查看>>
React-Native打包发布(Android)
查看>>
微信小商城
查看>>
化妆品商城
查看>>
微信小程序,易打卡
查看>>
iOS 原生模块 给 Javascript(ReactNative) 发送事件 (通知监听)
查看>>
Vue中的$set的使用
查看>>
Vue豆瓣系列文章
查看>>
当 better-scroll 遇见 Vue
查看>>
Vue-book 2.0 一个移动端简单的全栈 web APP
查看>>
Vue全家桶+Mint-Ui打造高仿QQMusic,搭配详细说明
查看>>
React Native开源项目GCore
查看>>
React Native CodePush实践小结
查看>>
React Native 性能优化之可取消的异步操作
查看>>
React Native启动白屏问题
查看>>
React Native 在原生项目中集成之坑点总结
查看>>
React Native for Android 发布独立的安装包
查看>>
React Native应用部署/热更新-CodePush最新集成总结(新)
查看>>
react-native-wechat
查看>>