第二代的暂时无法进行了,只能研究第一代了,认倒霉吧,哈哈。它们区别是换了arm的型号,取消了摄像头传输图像的功能,控制是蓝牙控制,其它的硬件没有大的变化,这个还简单点哈。还是一样,首先得看大脑中枢部分,再看外围电路。看arm中工程文件得先搭建环境,第一代的调试开发环境是keil+仿针器在线调试。第一代无人机软件按照教程搭建了Keil环境,问题多多,先不管它了,撇给技术支持。主要目的是先能打开工程,看内部逻辑。
工程文件的下载地址:https://codeload.github.com/Crazepony/crazepony-firmware-none/zip/test_original_baro;
先看arm中的功能逻辑,再看外部电路,我觉得这样比较好。
我认为看文件也应该由大到小,由整体到局部的去看,先拟定一个逻辑顺序吧,看看效果,不行过后再重新总结下;
1、首先看各各文件的功能;
2、分清楚系统的各各模块(一般一个模块是一个文件或对应多个文件);
3、从main函数入手,先找各各模块的的输入输出,再找各个文件的输入输出(小的项目一般一个文件就是一个模块),理清数据流;
4、数据流一旦理清后就对整体有了认识,这样就比较好理清整体架构了;
5、尝试理清架构,如不行就先放弃;
6、看主要关心的功能模块的函数,不看函数内部代码,通过函数名字和注释理解函数功能,只看函数的输入输出和函数的功能,确定每个函数都是干啥的;
7、按照功能,在线仿真动态调试,仿真环境搭建好,把程序运行起来,详细看最关心的函数的内部代码,一边看代码一边看无人机的状态,通过感性认知理解函数作用;
8、然后看第二关心的部分,以此类推,整个工程就理解了;
9、在这个过程中对系统的架构会有慢慢认识,最后理解工程了,架构就应该自然而然清楚了;
无人机项目跟踪十一----第一代研究程序方法
最新推荐文章于 2024-07-23 09:07:37 发布