自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 ACPilot项目 外设模块

光流模块: GL9306

2024-03-05 22:31:09 328

原创 初识ESP32 与 ESP32 -IDF

介绍ESP及ESP-IDF

2024-03-03 03:02:27 897

原创 嵌入式操作系统组成结构(软硬件之间的联系)--硬件如何执行第一行代码?

引言:最近纠结了两周决定自己以后还是走爱好的嵌入式方向,细分就是操作系统相关,下一步的目标是从0到1编写 RT-Thread的内核,然后转战嵌入式linux软件驱动开发,正好之前有做FreeRTOS,但都是偏上层的API函数的调用,这种仅会应用的层面给人带来一种不踏实的虚假感,因此为加强自己对整个系统的理解,一周内恶补了七、八本经典的书籍,针对各本书前几章对整个嵌入式操作系统的架构讲解,自己进行了汇总整理。本文涉及到的知识有汇编语言 计算机系统结构 操作系统等。写者叙:如果在学习讨...

2021-03-26 19:25:25 2263 3

原创 2021-03-23_RT-Thread内核实现(环境配置:M4启动文件 时钟文件注释)

RT-Thread内核实现(环境配置:M4启动文件 时钟文件注释)目录RT-Thread内核实现(环境配置:M4启动文件 时钟文件注释)1.1 新建本地工程文件夹任务一:看见各个文件夹能够知道里面各放的什么文件 实现了什么功能1.2 Manage Run-Time Environment1.2.1启动文件和时钟文件注释对启动文件的理解:启动文件中做了些什么事?1.1 新建本地工程文件夹任务一:看见各个文件夹能够知道里面各放的什么文件 实现了什么功能1.2 Manage

2021-03-23 16:34:03 413

原创 吴恩达卷积神经网络学习笔记【第二周 深度卷积神经网络】

吴恩达卷积神经网络学习笔记【第二周 深度卷积神经网络】目录吴恩达卷积神经网络学习笔记【第二周 深度卷积神经网络】2.1实例探究2.2 经典网络LeNetAlexNetVGG-16 VGG-192.3残差网络2.1实例探究在图像识别方面 效果好的神经网络框架往往具有借鉴性;2.2 经典网络推荐了两篇论文 AlexNet大概有6000w参数 而 LeNet只有60K 因此AlexNet可以识别区分很多相似的特征VGG网络结构很有规律 图像缩小和信道增加...

2021-03-20 14:31:15 207

原创 吴恩达卷积神经网络学习笔记【第一周 卷积神经网络】

第一周 卷积神经网络目录第一周 卷积神经网络1.1 计算机视觉1.2 1.3 边缘检测1.4 Padding1.5 卷积步长1.6 卷积为何有效1.7 单层卷积网络1.8 简单卷积网络示例1.9 池化层1.9.1最大池化1.9.2平均池化1.10 采用全连接的卷积神经网络示例1.11为什么使用卷积1.1 计算机视觉如果采用深度神经网络的话需要大量的存储单元 计算量极大 因此如果要处理 例如1000*1000*3的图片 引入卷积这一操作。.

2021-03-19 22:54:50 137

原创 吴恩达深度学习笔记【第四周 深层神经网络】

第四周---神经网络基础目录第四周---神经网络基础4.1深层神经网络4.1深层神经网络神经网络的层数不计算输入层 只包含隐藏层和输出层可以逐渐加高隐藏层L进行效果测试 n[5] = 为第五层的节点数目## 4.2深层神经网络中的前向传播 如何在深层神经网络中有效进行正向和反向传播 利用L 在 for循环中 计算每一层的数据 ## 4.3核对矩阵的维度 ## 为什么用深层表示...

2021-03-19 17:20:07 134

原创 吴恩达深度学习笔记【第三周 浅层神经网络】

第三周 浅层神经网络目录第三周 浅层神经网络3.1神经网络概览3.2神经网络表示(图形的意义)3.3计算神经网络的输出3.4多个例子中的向量化3.5向量化实现的解释3.6激活函数3.7为什么需要非线性激活函数3.8激活函数的导数3.9神经网络的梯度下降法3.10直观理解反向传播3.11随机初始化3.1神经网络概览注:上标方括号表示不同的层 上标圆括号表示不同的样本3.2神经网络表示(图形的意义)3.3计算神经网络的输出..

2021-03-18 22:44:52 124

原创 吴恩达深度学习笔记【第二周 神经网络基础】

第二周---神经网络基础目录第二周---神经网络基础2.1 二分分类2.2 logistic回归2.3 logistic 回归损失函数损失函数L(为0-正无穷 所有样本的损失函数L的求和平均值为成本函数J):成本函数J:2.4 梯度下降法(如何让利用梯度下降法寻找w b)2.5 2.6 导数2.7 2.8 计算图及其导数运算2.9 logistic回归中的梯度下降法2.10 m个样本的梯度下降法2.11 2.12 向量化及其更多例子2.13 向量化的l

2021-03-18 10:44:18 112

原创 吴恩达深度学习笔记 【第一周课程 简介】

目录P2什么是神经网络?1.Supervised Learning的应用:2.数据P4为什么深度学习会兴起?P2什么是神经网络?relu Function 价格不会为负多个输入 和限制条件 获得一个预测价格。只需要输入x 就会得到y 所有的中间过程它都会自己完成。理解:这是一个监督学习的例子,输入多个有关特征的x,y值 神经网络会自己计算每一条边的权值 计算得到一个x到y的精准映射函数。问题:隐藏层的节点的层数如何确定 ? 人为确定吗? 这个例子...

2021-03-16 17:51:44 68

原创 飞控开发日志——硬件IIC读取AT24C02

文章目录前言在F405上使用 Cube自动生成的硬件 hi2c2再使用软件模拟IIC配置hi2c3一、IIC学习IIC的SCL线为高电平时 SDA的上下沿变化是信号 不变的话为数据例程实验目的:开机的时候先检测24C02是否存在,然后在主循环里面检测两个按键,其中 1 个按键(KEY1)用来执行写入 24C02 的操作,另外一个按键(KEY0)用来执行读出操作,在 TFTLCD 模块上显示相关信息。同时用 DS0 提示程序正在运行。P...

2020-12-04 08:54:41 1051

原创 飞控开发日志——F405完善串口模块程序(根据F4开发指南HAL库版本)

文章目录前言一、实验目的使用STM32F4的串口来发送和接收数据。例程实现如下功能: STM32通过串口和上位机的对话,STM32F407在收到上位机发过来的字符串后,原原本本的返回给上位机。 电脑/F405→F407→电脑/F405已经测试的线路是: F405→F407→电脑现在要测试F405是否也收到了它出去的数据修改程序为: 电脑→F407→F405→F407→电脑 只有F405接收到了数据 才发送一组数据问题:那么没接收到数据的时候...

2020-11-30 15:43:24 2292

原创 Cube平台STM32F405RGT6开发日志<FreeRTOS系统及串口调试>

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在上文STM32F405VGT6 Cube 配置的基础上建立任务函数 并调试了串口模块一、学习USART相关的库函数 (通过F407 HAL库开发函数进行的学习) 1.在.c 的.h文件里面可以看到HAL库支持哪些函数2.在FreeRTOS函数界面 引入了串口 .h 文件 不然...

2020-11-10 11:06:48 1411 3

原创 STM32F405RG数据手册

任务:找到MiniFly在F411上用到的外设 进行总结 对应找到F405上同样类型的外设。一、USART 应该是异步的 不然还要一根线来同步时钟MiniFly: USART2 PA3 PA2 与NRF通讯 配置了NRF流控制 ? RCC_AHB1PeriphClockCmd(UARTSLK_TXEN_PERIF, ENABLE);这里的复用为Alternate USB虚...

2020-11-07 17:55:34 2993

原创 针对FreeRTOS SysTick HAL 等时钟进行学习

1.软件定时器和硬件定时器的区别软件bai定时就是直接利用CPU的时钟,用计算循环的方法计时。例如假设CPU执行一个指令需要10个时钟周期,那么循环执行1000次就是10000个时钟。因为CPU的时钟间隔是恒定的,那么假设一个时钟是1微秒,则10000个时钟就是0.01秒。这种循环测试时间长度的办法在单任务系统,例如DOS下,还是相对准确的。但是在Windows这种多任务系统下由于系统调度的原因程序会被不停滴中断(好让其它任务有机会运行),这样其实就不能精确知道1000次循环究竟用了多少个时钟(因为有些

2020-11-06 19:06:44 865

原创 基于F405RGT6的飞控开发日志<一 器件选型>

一、 主控芯片选型为满足一定的可拓展性:MiniFly采用的F411CEU6:????选型采用的F405RGT6:???? 主频 内核 Flash Ram 封装通用IO 16TIM 32TIM 电机TIM 3ADC16CH 12DA SPI IIS IIC 串口 CAN FSMC 全速USB 高速USB TRNG...

2020-11-05 14:13:22 980 1

原创 STM32Cube学习<一>(点亮第一个LED)

1.New Project2.在左侧搜索 STM32F407ZG 双击3.找到 IO口4.clock Configuration时钟设置先不管5.选择 Project Manager勾选第一个Generation6.点击 GENERATEE CODE生成代码7.目录下打开

2020-11-04 15:28:44 93

原创 输出MiniFLy磁力计数据(USB虚拟串口)

文章目录前言 最终目的:是将磁力计 和六轴 的数据通过 USB 虚拟串口 输出至上位机。 需要进行 串口 USB虚拟串口发送数据实验代码的学习与扩展。一、F4 第三十五章USB 虚拟串口(Slave)实验 USB是指电脑上这种 通用串行总线,是一种协议。R232全双工串口 R485 半双工串口,是指按bit发送数据的一种设备。 USB 虚拟串口,简称 VCP,是 Virtual COM Port 的简写,它是利用 USB 的 CD...

2020-11-02 17:06:28 589

原创 (8/10)stabilizerTask; /*姿态处理任务*/(未完成)

文章目录前言对MiniFly的xTaskCreate(stabilizerTask, "STABILIZER", 450, NULL, 5, NULL) 姿态管理任务进行理解。一、stabilizerTaskvoid stabilizerTask(void* param) { u32 tick = 0; u32 lastWakeTime = getSysTickCnt(); ledseqRun(SYS_LED, seq_alive); while(...

2020-10-29 16:56:33 304

原创 (8/10)sensorsTask; /*传感器处理任务*/(未完成)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言对MiniFly进行学习(8/10)sensorsTask; /*传感器处理任务*/(未完成)一、void sensorsTask(void *param)void sensorsTask(void *param){ sensorsInit(); /*传感器初始化*/ vTaskDelay(150); sensorsSetupSlaveRead();/*Éè...

2020-10-29 15:56:31 351

原创 (7/10)pmTask; /*电源管理任务*/(未完成)

目录一、void pmTask(void *param) /* 电源管理任务*/typedef enum{ battery, charging, charged, lowPower, shutDown, } PMStates;void pmTask(void *param) /*电源管理任务 */{ PMStates pmStateOld = battery;//定义了一个枚举变量PMStates 并将battery 赋值给它...

2020-10-26 21:28:23 251

原创 (6/10)configParamTask; /*创建stkp发送和解析任务*/

目录:前言:对 xTaskCreate(configParamTask, "CONFIG_TASK", 150, NULL, 1, NULL); /*参数配置任务进行理解*/一、void configParamTask(void* param) void configParamTask(void* param){ u8 cksum = 0; while(1) { xSemaphoreTake(xSemaphore, portMAX_DELAY);/*...

2020-10-26 19:44:42 128

原创 (4/10;5/10)xTaskCreate(atkpTxTask, “...“, ., .., 3, ..);atkpRxAnlTask /*创建stkp发送和解析任务*/

目录前言一、1.2.二、1.2.总结

2020-10-22 11:15:57 187

原创 (2/10;3/10)xTaskCreate(usblinkRxTask, “..“, 150, NULL, 4, NULL);usblinkTxTask();/*usb接受及发送任务*/

目录前言一、1.2.二、1.2.总结

2020-10-22 11:14:39 107

原创 (1/10)xTaskCreate(radiolinkTask, “RADIOLINK“, 150, NULL, 5, NULL); /*创建无线连接任务*/

目录前言一、1.2.二、1.2.总结

2020-10-22 11:13:13 152

原创 (9/9) configParamInit(); /*初始化参数配置*/

目录前言一、1.2.二、1.2.总结

2020-10-22 11:07:06 351

原创 (8/9)void expModuleDriverInit(void) /*扩展模块驱动初始化*/【AD初始化 && DMA初始化】

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结

2020-10-22 11:05:08 143

原创 (7/9)watchdogInit(); /*独立看门狗初始化*/【】【看门狗 &&初始化看完(预定任务延期半天 )&&找点外设练手】

文章目录前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd impo...

2020-10-21 22:34:06 576

原创 (6/9)stabilizerInit(); /*电机传感器PID初始化*/【PID结构体 及 电机初始化(端口复用&&定时器&&PWM)】

文章目录前言本文针对stabilizerInit();进行学习/*电机传感器PID初始化*/一、stabilizerInit(); /*姿态 电机 初始化*/void stabilizerInit(void){ if(isInit) return; stateControlInit(); /*×Ë̬PID³õʼ»¯*/ powerControlInit(); /*µç»ú³õʼ»¯*/ isInit = true;}二、stateCon...

2020-10-21 22:31:37 268

原创 (5/9)pmInit(); /*电源管理初始化*/【变量对齐 _packed】

目录引言对 pmInit(); /*电源管理初始化*/进行学习。一、二、总结

2020-10-21 20:38:51 170

原创 (4/9)consoleInit() /*打印初始化*/【FREERTOS信号量】

文章目录前言consoleInit() /*打印初始化*/一、void consoleInit()void consoleInit(){ if (isInit) return; messageToPrint.msgID = UP_PRINTF; // UP_PRINTF = 0x51 messageToPrint.dataLen = 0; vSemaphoreCreateBinary(synch); isInit = t...

2020-10-21 16:22:57 196

原创 (4/9)atkpInit()  /*传输协议初始化*/

/*传输协议初始化*/void atkpInit(void){ if(isInit) return; rxQueue = xQueueCreate(ATKP_RX_QUEUE_SIZE, sizeof(atkp_t)); ASSERT(rxQueue); isInit = true;}初始化没有其他内容

2020-10-21 15:46:06 106

原创 (2/9) commInit();【NRF51822】【RTOS队列】(21日上午学习 队列 下午和晚上看完初始化函数)

文章目录前言 之前(1/9)写成遥控器的led灯初始化了。本文进行(2/9)NRF51822 通讯模块的初始化学习。一、commInit();void commInit(void){ if (isInit) return; radiolinkInit(); /*无线通信初始化*/ usblinkInit(); /*USB通信初始化*/ isInit = true;}void radiolinkInit(void){...

2020-10-21 01:56:16 305

原创 (1/9)ledInit(); (GPIO的设置&&端口复用&&端口重映射)

目录ledInit(); led.h关于端口复用和重映射: led.cledInit(); HARDWARE文件夹下led.h#ifndef __LED_H#define __LED_H #include "sys.h" //这里面定义了GPIO的地址 PBout PBin 之类#define LED_BLUE PBout(3)#define LED_RED PBout(7)void ledI...

2020-10-21 00:49:28 1850

原创 2020-10-20 针对MiniFly 对外设进行学习(20日与21日完成)【延期半天】(22日 23日 24日进行任务函数的学习)【之后在复习的同时进行开发板外设的学习】

文章目录前言 对MiniFly初始化函数进行理解一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnin...

2020-10-20 20:29:46 77

原创 2020-10-20 任务三(二) RTOS系统初识

文章目录前言 前文已经了解了RTOS工程的结构。要使用RTOS的多任务处理功能,实现正确创建任务等功能,首先要先学习RTOS的任务基础知识。一、RTOS任务基础知识1.RTOSReal-Time OS实时操作系统是通过优先级和分配时间片来进行任务调度。RTOS调度器的职责是确保当一个任务开始执行的时候其上下文环境(寄存器的值,堆栈内容等)和任务上一次推出的时候相同。所以创建任务时有个参数为堆栈大小,就是为了将上下文环境保存在堆栈中,就可以在下个时间片到...

2020-10-20 16:35:11 277

原创 2020-10-20 任务三(一) RTOS系统初识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、RTOS系统是什么?FreeRTOS就是一个免费的RTOS系统。 通过给不同的任务分配时间片以及优先级,形成多任务同时运行的错觉。查阅资料的网址:http://www.freertos.org二、使用步骤1.引入库代码如下...

2020-10-20 11:43:10 878

原创 2020-10-20 任务二(MiniFly学习计划和目标制定)

今天开始进行 MiniFly 四旋翼的学习(2020-10-20)(预计五日)学习目标 学习计划

2020-10-20 02:55:35 159

原创 2020-10-20 学习日志(Crazepony控制环)

2020年10月20日 学习任务:完成Crazepony控制环的理解之前是通过姿态解算获得了 四元数→旋转矩阵→欧拉角CtrlAttiRate();CtrlMotor();

2020-10-20 00:36:27 318

原创 2020-10-19 学习日志(18日任务未完成)(19日已完成)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言学习日志:任务(一)昨天没有写完程序框架 下午(2020.10.19)完成程序框架并且上传任务(二)看完姿态解算 不然不休息(最多凌晨三点)一、Crazepony 姿态解算部分代码二、Crazepony 姿态解算部分流程总结提示:这里对文章进行总结:例如...

2020-10-19 11:08:43 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除