【code review】1、关于解锁和初始化标志位

一、背景介绍

在看调试悟空 fpv的代码的时候,有时候发现解锁不了,但是由于确少上位机提示,所以只能一步一步调试;发现主要解锁主要有两个方面影响,一个是各项传感器的标志位;一个就是解锁的标志位;这两类都是用一个变量的位是否置位进行判断;

二、传感器等飞行前检查标志位

(1)通过就清零

飞控上有多种传感器、还有一些飞行前检查项目;这些项目一旦通过的检测,就会将相应的bit清零;如下所示:

#define DISABLE_ARMING_FLAG(mask)   (armingFlags &= ~(mask))

(2)具体项目

这些都是需要检查通过然后清零的标志位;
在这里插入图片描述

二、解锁标志位

(1)ARMED标志位枚举位置

在这里插入图片描述

(2)arm(解锁状态)

当使用遥控器进行解锁的时候,就需要将这一位置1,

#define ENABLE_ARMING_FLAG(mask)    (armingFlags |= (mask))

完整的code就是:

ENABLE_ARMING_FLAG(ARMED);

(3)是否解锁

在一些程序执行之前,都要判断此时飞机是否已经解锁,
例如在动力分配的时候,就要判读arm这位有没有置1,如果是1,那就说明解锁了,如果是被清0了,那就是上锁(disarm);
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值