单片机/MCU论坛
登录
直播中
疯壳科技
7年用户
1201经验值
擅长:嵌入式技术
私信
关注
[资料]
【疯壳·无人机教程24】开源编队无人机-遥控整机代码走读、编译与烧写
开源
无人机编队
编译
烧写
代码
COCOFLY教程
——疯壳·无人机·系列
遥控整机代码走读、编译与烧写
图1
一、代码架构
遥控的整体代码工程由 7 个工作组组成,分别是 Remoter、show、Driver、
STM32
_LIB、USB、USB/Lib 以及 Drv_Point,如下图所示。
图2
各个组的具体的代码功能如下表所示。
表1
二、代码走读
系统的主函数部分是整个代码的起始运行位置,在主函数内主要做三个事情:1、初始化外设及参数,2、轮询线程函数,3、菜单显示逻辑,其代码如下图所示。
图3
系统的每一个线程函数都已经分配好了运行周期,在不同的线程里执行不同的事情,线程的切换通过简单的逻辑处理形式切换,而系统的运行时间由 sys
ti
ck 提供,即系统的“滴答”时钟。各个线程的入口如下。
图4
分别有 1000ms 周期的函数、50ms 周期的函数、10ms 周期的函数、4ms 周期的函数以及 2ms 周期的函数。
整个遥控器的逻辑处理、数据交换的核心部分均在 Remoter 工作组内,该组内的代码框架如下图所示。
图5
其中的 DT.c 负责和飞控、上位机等的
通信
数据处理,即拆解包、封装包、提取关键数据等,如下图所示为对飞控传输过来的数据进行处理。
图6
其中 Stick.c 为摇杆逻辑处理,主要对摇杆采集到 ADC 值进行分析,判断需要执行的逻辑。最后的 cocobit.c 是负责和 cocobit 编程板之间的通信。
工作组“show”主要负责了整体的菜单 UI 显示,这里已经做了封装处理。
工作组“Driver”负责各个模块的底层驱动,例如摇杆 ADC 配置、NRF24L01
的 SPI 驱动等。
工作组“USB”以及“USB/Lib”,负责通过 STM32 自带的 USB,虚拟出串口,方便与上位机进行通信。
保存、编译最后把代码烧写的遥控中,配合飞控就可以正常使用了。如下图所示 1 为保存、2 为编译、3 为下载烧写。
图7
文件下载请点击:
【2】遥控整机代码走读、编译与烧写.pdf
(696.96 KB)
(下载次数: 20, 2022-9-2 17:49 上传)
更多回帖
rotate(-90deg);
回复
相关帖子
开源
无人机编队
编译
烧写
代码
【
疯
壳
·
无人机
教程26】
开源
编队
无人机
-360 度翻滚
2022-09-05
31777
【
疯
壳
·
无人机
教程23】
开源
编队
无人机
-飞控
整机
代码
走读
、
编译
与
烧
写
2022-09-02
31968
【
疯
壳
·
无人机
教程5】
开源
编队
无人机
-飞控固件
烧
写
2022-08-23
4757
【
疯
壳
·
无人机
教程2】
开源
编队
无人机
-硬件资源简介
2022-08-19
6982
【飞控开发高级教程2】
疯
壳
·
开源
编队
无人机
-
遥控
整机
代码
走读
、
编译
与
烧
写
2022-07-21
2799
【飞控开发高级教程1】
疯
壳
·
开源
编队
无人机
-飞控
整机
代码
走读
、
编译
与
烧
写
2022-07-21
1503
【快速上手教程2】
疯
壳
·
开源
编队
无人机
-硬件资源简介
2022-07-04
1712
【飞控开发高级篇2】
疯
壳
·
开源
编队
无人机
-
遥控
整机
代码
走读
、
编译
与
烧
写
2022-06-08
2083
【飞控开发高级篇】
疯
壳
·
开源
编队
无人机
-飞控
整机
代码
走读
、
编译
与
烧
写
2022-06-07
5847
如何实现
疯
壳
AI
开源
无人机
遥控
整机
代码
走读
/
编译
与
烧
写
?
2021-12-20
880
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分