- 博客(25)
- 收藏
- 关注
原创 Lua基础知识入门
标识符:标识符的定义和 C语言相同:字母和下划线_ 开头, 下划线_ + 大写字母一般是lua保留字, 如_VERSION全局变量:默认情况下,变量总是认为是全局的,不需要申明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。
2024-07-17 17:53:12
1435
原创 MS5611气压计数据采集(模拟IIC)/温度采集/相对高度求解
MS5611气压计数据采集(模拟IIC)/温度采集/相对高度求解1、 MS5611气压计属性1.1 基础属性MS5611使用24位ADC,可以采集温度和气压,并且温度可以用来补偿气压,并且MS5611在出厂时进行了校准,校准的6个系数存储在PROM寄存器中, PROM寄存器其实地址0XA0, 从0xA0到0XAE, 一共16字节, 一共16*8 = 128位,其中每两个字节为一个系数:第一个系数: 制造商定的,我们不用在意第二到第七个系数:我们需要读取,后面用于气压计计算第八个系数:CRC1
2020-12-01 18:24:21
8251
7
原创 AK8975磁力计数据采集--模拟SPI读取
AK8975磁力计数据采集–模拟SPI读取1、ak8975磁力计特性1.1 四种模式:1.2 SPI读写时序SPI工作在模式3CSB拉低表示开启SPI数据读取模式, SK上升沿读取数据,下降沿数据进行变换SPI写数据时序图SPI读数据时序图2、模拟SPI读取磁力计AK8975寄存器地址#define AK8975_WIA_REG 0X00 #define AK8975_INFO_REG 0X01 #define AK8975_ST1_RE
2020-11-29 16:58:52
2948
7
转载 计算机网络
本人计算机网络笔记总目录 计算机网络笔记Part1 概述 计算机网络笔记Part2 物理层(Physical Layer) 计算机网络笔记Part3 数据链路层(Data Link Layer) 计算机网络笔记Part4 网络层(Network Layer) 计算机网络笔记Part...
2020-09-13 15:50:07
1339
原创 结构体字节对齐
文章目录1、各变量所占内存大小2、结构体字节对齐规则2.1、结构体中没有相互嵌套2.2、结构体内部嵌套结构体或者联合体#2.2.1、联合体说明2.2.2、结构体内部嵌套结构体3、pragma pack(n)的作用1、各变量所占内存大小32位系统下:sizeof(short) = 2 sizeof(int) = 4 sizeof(long) = 4 sizeof(double) = 8sizeof(float) = 4 sizeof(指针) = 464位系统下:sizeof(s
2020-09-11 15:53:17
322
转载 C 语言中的 switch 语句 case 后面是否需要加大括号
C 语言中的 switch 语句 case 后面是否需要加大括事件原由为编辑器的自动缩进,当 case 换行后不自动缩进。于是在在想可以可否在 case 后面再大括号,让其自动缩进。查了资料,发现 case 是可以加大括号的,相当于代码块。而且还有另外一个用途,可以代码块头部定义变量1 switch(ucKeySec)2 {3 case 1:4 {5 uint8_t c = 0xff;6 break;7 }8 }这时如果将
2020-07-01 20:07:34
9824
3
原创 SPI读取NRF24L01
NRF24L01数据通道NRF24L01 配置为接收模式时可以接收6路不同地址但是相同频率的数据。每个数据通道都拥有自己的地址。接收数据通道0,:RX_ADDR_P0拥有40位可配置地址,RX_ADDR_P1–RX_ADDR_P5 的地址为:32位公用地址 + 8位各自的地址接收端确认收到地址后会记录下发送通道的地址TX_ADDR,然后以此地址作为目标地址发送应答信号, 发送端的数据通道的接收地址RX_ADDR_Px 要与发送端地址相同,以确保接收到正确的应答信号SPI指令和读写时序NRF24
2020-06-12 10:20:52
2624
原创 姿态解算之显式互补滤波法(MahonyAHRS)(包含初始姿态角的计算)
姿态解算之显式互补滤波法(MahonyAHRS)#1 前言本文以四旋翼为背景,说明一下姿态解算中经典的互补滤波算法,也称为Mahony算法。文章说明:本文使用的机体系是“右-前-上”坐标系, 导航系是“东-北-天坐标系”欧拉角的旋转顺序为: Z-X-Y,(即312的顺序) 绕Z轴转动是偏航角,绕x轴转动是俯仰角,绕y轴转动是横滚角。由导航系到机体系的旋转矩阵为:#2 互补滤波的原理两...
2020-03-12 23:25:28
8116
4
原创 C++ 学习笔记--函数模板问题
#include <iostream>#include <algorithm>#include <functional>#include <vector>using namespace std;template<typename T1, typename T2> T1 func(T2 num){ return num +...
2020-03-12 09:46:59
194
原创 LSM303D磁力计数据读取实验
#LSM303D初始化void LSM303D_Init(){ LSM303D_Write_Byte(LSM303D_SLAVE_ADDRESS, CTRL5, 0x14); // 在加计为power-down模式下时(默认情况下就是),频率100Hz delay_us(5); LSM303D_Write_Byte(LSM303D_SLAVE_ADDRESS, CTRL4, 0x04);...
2020-01-13 15:46:38
2169
4
原创 MPU6050/6500/9250中断读取原始数据(基于STM32F103)
实验说明:本实验是基于野火的MPU6050读取原始数据进行改编。中断读取数据,可以将数据波形显示在匿名上位机上(V65版本)。需要完整代码可留言main函数#include “./mpu6050/mpu6050.h”#include “./usart/bsp_usart.h”#include “./i2c/bsp_i2c.h”#include “delay.h”/**@brief ...
2019-10-17 21:11:43
3671
12
转载 PixHawk飞控和Mission Planner地面站安装调试
PixHawk飞控和Mission Planner地面站安装调试PixHawk是著名飞控厂商3DR推出的新一代独立、开源、高效的飞行控制器,前身为APM飞控,不仅提供了丰富的外设模块和可靠的飞行体验,有能力的爱好者还可在其基础上进行二次开发。第一次使用需要多方查阅资料,摸索前行,根据本人学习和使用过程整理成文,其中大部分内容来自官网和相关网站的资料,将尽可能提供原文出处,希望对想尝试PixH...
2019-03-30 22:29:43
6047
2
转载 PX4与Ardupilot的入门基础知识(第一章:架构与启动过程)
目录摘要第一节:px4与apm的区别与联系第二节:px4与apm每个文件夹的作用第三节:px4与apm无人机的启动过程摘要本节主要记录自己学px4的代码架构与Ardupilot代码架构对比文档,欢迎批评指正。 (1)px4与apm固件的区别与联系 (2)px4与apm每个文件夹的作用 (3)px4与apm无人机的启动过程123第一节...
2019-03-30 17:24:55
2606
原创 STM32的GPIO的初始化解析
//LED的I/O口初始化程序 :顺序:1.是能io口时钟 2.初始化io口模式 ,配置相关参数(包括速度,pin脚,mode,最后进行配置)//3.操作io口,输出高电平void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; //定义一个名为 GPIO_InitStructure的结构体变量 /* GPIO...
2019-03-29 16:47:27
4312
原创 STM32中如何使用底层的地址来控制IO口的电平
步骤一:使能时钟首先在数据手册中找到寄存器映像,找到复位和时钟控制(RCC)的初始地址为0x40021000,由于GPIOB是挂在APB2总线上,找到APB2外设时钟使能寄存器(RCC-APB2ENR),偏移地址为0x18,所以RCC-APB2ENR具体地址为0x40021018,其中IOPBEN,端口B的时钟使能是在位3,置一开启,所以*(unsigned int*)0x40021018 |=...
2019-03-29 16:37:24
1617
原创 STM32的GPIO的七个寄存器的配置说明
STM32的GPIO的七个寄存器的配置说明每组GPIO口都配置有七个寄存器,端口配置低寄存器GPIOx_CRL端口配置高寄存器(GPIOx_CRH)端口输入数据寄存器(GPIOx_IDR)端口输出数据寄存器(GPIOx_ODR)端口位设置/ 清除寄存器(GPIOx_BSRR)端口位清除寄存器(GPIOx_BRR)端口配置锁定寄存器(GPIOx_LCKR)首先看看为什么端口配置...
2019-03-29 16:32:50
7990
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人