严格从地址定义来说,I²C的设备地址是7位的,发到总线上时多了一个最低位的读写位。至于你的使用,需要看你自己的I²C驱动程序是怎么写的:如果直接发8位那就用8位的,如果是用7位地址、接口程序自己再加上读写位,那么就传递7位的参数。另外八位的时候应当是0xEE或者0xEC。
比方说,你CSB引脚拉高,那么七位地址是0x76、八位写地址是0xEC;如果CSB引脚拉低,那么七位地址是0x77、八位写地址是0xEE。
多旋翼无人机也是由电机的旋转,使螺旋桨产生升力而飞起来的。比如四旋翼无人机,当飞机四个螺旋桨的升力之和等于飞机总重量时,飞机的升力与重力相平衡,飞机就可以悬停在空中了。对于PX4Firmware的调试,有别于传统的单片机单步调试,没有办法仿真,因为是多线程程序,也没有好的集成编译环境。主要还是靠串口打印来调试数据。在Pixhawk飞控上有一个USB的接口,如果想要进入串口打印调试终端nsh,就必须拔掉SD卡,然后用USB口连接电脑,否则不能进入nsh终端。我们采用的开源无人机飞控硬件是pixhawk,相对来说这是一个比较稳定的版本,经过实际的飞行测试,效果比较理想。
FMU中集成了STM32F427处理芯片MPU6050三轴加速计和三轴陀螺仪、MS5611气压计、LSM303D加速度计和磁罗盘。以及丰富的总线接口,4路串口SPI、I2C、ADC接口等等。FMU采用的单片机STM32F427,主要负责对传感器的数据进行采集并进行姿态和位置解算,并通过经典PID控制程序输出控制量到IO程序中,生成飞行控制量,进而控制飞机的飞行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)