开发知识点-stm32/ESP32/Mega2560嵌入式设计
嵌入式设计
- STM32四轴飞行器
- 原理图解析
- 小马哥 DragonFly四轴
- 软件开发 13 STM32 SPI总线通讯
- SPI 总线协议简介
- SPI 物理层
- SPI 协议层
- SPI 通信时序
- STM32硬件SPI接口简介
- SPI接口 利用库函数初始化配置
- ESP32
“F:\res\marlin-2.0.x”
“F:\res\Marlin-2.1.2”
STM32四轴飞行器
小马哥STM32四轴飞行器
原理图解析
西安小马哥四轴/ArduPilot Mega系列飞控/MWC
小四轴/四轴/穿越机
硬件层面
PCB做结构板
MOS管控制
空心杯电机调速
供电系统
Intel® Core™ i5-8300H 2.30GHz
16.0 GB (15.9 GB 可用)
飞控程序如何写
STM32F103C8T6做主控
手柄
STM32F411
STM32F103
• 3路USART,速度高达12.5 Mbit/s,
• 5路SPI(I2S复用),速度高达50 Mbit/s,
• 3路I²C,高达1Mbps
• 1x SDIO,频率高达48MHz,且所有封装均提供,
• 1个USB 2.0 OTG(全速),
• 2路全双工I²S,高达32位/192KHz,
• 3路单工I²S,高达32位/192KHz,
• 速度高达2.4 MSPS的12位ADC,
• 11个频率高达100 MHz的16和32位定时器
性能: 在100 MHz频率下,
从Flash存储器执行时,STM32F411单片机能够提供125 DMIPS/339 CoreMark性能,
并且利用意法半导体的ART加速器实现了FLASH零等待状态。DSP指令和浮点运算单元扩大了产品的应用范围。
功效: 该系列产品采用意法半导体90 nm工艺和ART加速器,
具有动态功耗调整功能,能够在从Flash存储器执行时实现低至100 µA/MHz的电流消耗。
停机模式下,功耗低至10 µA。
一、四轴硬件设计课程
1、小马哥四轴第1讲、 Altium Designer安装与介绍
2、小马哥四轴第2讲上、原理图讲解之MCU最小系统讲解
3、小马哥四轴第2讲下、原理图各模块讲解
4、小马哥四轴第3讲上、AD库制作之原理图库的制作
5、小马哥四轴第3讲下、AD库制作之PCB封装库的制作
6、小马哥四轴第4讲上、原理图绘制
7、小马哥四轴第4讲下、原理图绘制
8、小马哥四轴第5讲、 用CAD绘制小四轴PCB外形
9、小马哥四轴第6讲、 四轴PCB板元器件布局
10、小马哥四轴第7讲上、PCB布线与2.4G模块布线
11、小马哥四轴第7讲下、PCB布线之电源布线与敷铜
12、小马哥四轴第8讲、 四轴四层板PCB板设计
二、四轴STM32软件设计入门课程与飞控算法课程
第1讲、 KEIL(MDK-ARM)安装
第2讲上、Keil使用固件库创建STM32工程
第2讲下、KEIL5快速创建STM32工程
第3讲上、初识STM32
第3讲下、初识STM32
第4讲、 STM32标准库的封装
第5讲上、点亮LED与GPIO介绍
第5讲下、点亮LED之标准库使用
第6讲上、利用串口实现打印
第6讲下、串口打印重定向函数
第7讲上、系统时钟与滴答定时
第7讲下、滴答定时器计时延时
第8讲、 RGB全彩灯编程与调试
第9讲上、STM32外部中断及NVIC
第9讲中、STM32中断及NVIC原理
第9讲下、STM32中断代码实现
第10讲上、STM32 IIC通讯时序讲解
第10讲下、STM32 IIC 代码实现
第11讲上、陀螺仪MPU9250讲解
第11讲下、陀螺仪MPU9250讲解
姿态解算、数据通讯协议
电量LED
熟练使用外设
飞控算法
小马哥 DragonFly四轴
电子开发学习
- 开发环境 Keil(MDK_ARM)
- STM32 F1、F4 标准库
原理图
源码
芯片、模块
软件开发 13 STM32 SPI总线通讯
SPI 总线协议简介
常用 通讯总线(单片机与单片机、单片机与外围设备的总线协议)
串口USART、IIC、SPI(高速)、CAN
遥控 NRF24L01通信 走 SPI
STM32F4 硬件SPI接口配置使用
实现NRF24L01 芯片 寄存器 读写
涉及 外设 GPIO 、SPI外设 、NRF24L01
STM32中文参考手册 refenence manual
DS10314_STM32F411CCU6_Datasheet 芯片手册
NRF24L01 中文说明书
SPI协议 摩托罗拉公司 通信协议 Serial Peripheral Interface
串行外围设备接口
高速 同步 全双工通信总线
( 通信分类
串口 异步 全双工
IIC 同步 半双工
)什么单工
SPI 物理层
从 物理层 和 协议层 讲解
外围设备 该怎么接
有多少根 信号线
SPI 支持的 通信模式
一主一从 (图中展示的)
一主多从
不支持 多主模式
(IIC 可以 11,1多,多主机1从机通信)
从机 可以是MCU、外围设备、传感器
四轴上 MCU + NRF模块 (一主一从)
SPI 协议 四根线 (信号线 连接关系)
NSS/CS 片选线(片选信号 主机控制)
SCK 时钟线(同步时钟 主机控制)
两根数据线
MOSI (主到从)
MISO
SCK、MOSI、MISO可以共用(一主多从)
片选线 单独 (SPI 是 IO口控制 片选引脚)
(IIC 一主多从 主机广播一个地址 从机对比地址、返回应答信号、建立通信)
SPI IO口 电平拉低 (选中从机进行通信 独占共享线)
硬件连接关系
通信协议通信模式的切换
SPI 协议层
与IIC协议层 一样
SPI 通信时序
四个引脚 信号 时序
片选线 选中开始(起始信号 电平拉低 默认高电平 1)(停止信号 拉高 6)
SCK同步时钟
剩下两个 数据线
通信选择状态 低电平
高电平(释放总线)
时钟脉搏 一个周期 一位数据 交换
一个完整方波为一个周期
上升沿 为 准备数据
下降沿 为 采集数据
期间 保证 信号线的电平 是稳定的(数据有效性)
MOSI/MISO上数据也是同时进行的
SPI数据传输流程
STM32硬件SPI接口简介
SPI接口 利用库函数初始化配置
ESP32
https://www.eepw.com.cn/zhuanlan/315164.html
相关文章:

开发知识点-stm32/ESP32/Mega2560嵌入式设计
嵌入式设计 STM32四轴飞行器原理图解析小马哥 DragonFly四轴软件开发 13 STM32 SPI总线通讯SPI 总线协议简介SPI 物理层SPI 协议层SPI 通信时序 STM32硬件SPI接口简介SPI接口 利用库函数初始化配置 ESP32 “F:\res\marlin-2.0.x” “F:\res\Marlin-2.1.2” STM32四轴飞行器 小…...

亚马逊云科技海外服务器初体验
目录 前言亚马逊云科技海外服务器概述注册使用流程实例创建性能表现用户体验服务支持初体验总结 前言 随着云原生技术的飞速发展,越来越多的企业和开发者选择云服务器来作为自己的使用工具,云原生技术的发展也促进了云服务厂商的产品发展,所…...
外贸出口游戏设备亚马逊CE认证电磁兼容性(EMC)测试解析
游戏设备上架亚马逊出口欧盟需办理CE认证电磁兼容性(EMC)测试。 CE认证,作为欧盟的一项标准,成为了游戏设备行业中最为重要的认证之一。CE认证不仅是游戏设备进入欧洲市场的必要条件,也是保证产品符合欧洲市场标准的重…...
设计模式——组合模式(Composite Pattern)+ Spring相关源码
文章目录 一、组合模式定义二、例子2.1 菜鸟教程例子2.1.1 创建 Employee 类,该类带有 Employee 对象的列表。2.1.2 使用 Employee 类来创建和打印员工的层次结构。 2.2 JDK源码——java.awt.Container2.3 Spring源码——CompositeCacheManager 三、其他设计模式 一…...
大语言模型-LLM简介
大语言模型如此火爆,查了些资料整理一下,做个初步的了解。 语言模型的发展从开始的统计方法到使用神经网络,再到现在通过使用Transformer架构的模型训练大量数据,理解文本规则和模式,同时随着训练数据和模型的扩大&…...

创建多层级行索引,创建多层级行索引的DataFrameMultiIndex.from_product()
【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 创建多层级行索引, 创建多层级行索引的DataFrame MultiIndex.from_product() [太阳]选择题 使用pd.MultiIndex.from_product(),下列输出正确的是: import pandas as pd…...
用尽可能简单易懂的代码做个时间轴(时间线)
用尽可能简单的代码,做个时间线或者时间轴展示功能,效果如图: 特点:纯DIVCSS构建,需要展示到什么进度,直接加active属性就行了。 还贴心给配了个setProgress(step)函数,功能太简单,…...

STM32笔记—定时器
目录 一、TIM简介 二、基本定时器(TIM6和TIM7) 1. TIM6和TIM7简介 2. TIM6和TIM7的主要特性 3. TIM6和TIM7的功能 3.1 时基单元 3.2 计数模式 3.3 时钟源 三、通用定时器 1. TIMx(2、3、4、5)简介 2. TIMx主要功能 3. 时钟选择 4. 影子寄存…...

【力扣:1504】统计全1子矩阵
统计全1子矩阵个数 思路1:首先考虑深度优先模拟,从【0,0】出发向下、右扩展,符合条件res,最后输出res,比较直观,但重复进行了大量节点遍历操作,时间复杂度较高,数据量大时…...

排序算法之-选择
算法原理 在未排序的数列中找出最大(或最小)的元素,然后将其存入到已排序的数列起始位置,紧接着在剩余的未排序数列中继续查找最大(或最小)的元素,并将其放入到已排序的数列末尾,依…...

机器学习模板代码(期末考试复习)自用存档
机器学习复习代码 利用sklearn实现knn import numpy as np import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCVdef model_selection(x_train, y_train):## 第一个是网格搜索## p是选择查找方式:1是欧…...

使用sizeof()和strlen()去计算【数组】和【指针】的大小
文章目录 一、知识回顾1、回顾sizeof()、strlen的作用:2、数组和指针3、数组名 二、sizeof()、strlen()的使用区别1、注意区别:2、一维数组与一级指针3、二维数组与二级指针 三、总结回顾 一、知识回顾 1、回顾sizeof()、strlen的作用: siz…...

viple进阶4:打印空心三角形
题目:根据用户输入的行数n打印空心三角形,下图分别为n3、n4、n5和n10的效果图 第一步:观察效果图 输入的行数为3,打印结果就有3行;输入的行数为4,则打印结果就有4行;以此类推,输入的…...
Oauth2.0的内容
OAuth 2.0是一个授权协议,用于允许第三方应用程序访问用户在另一个应用程序上存储的受保护资源,而不需要将用户名或密码公开给第三方应用程序。 OAuth2.0基于客户端-服务器模型,通常需要三个主体:客户端、资源所有者和授权服务器…...

npm 下载包失败解决方案
1.【问题描述】使用 npm 下载vue项目依赖包时失败,版本不一致。 【解决方法】使用 npm install --force npm install --force 是一个命令行指令,用于在 Node.js 环境中使用 npm(Node Package Manager)安装包或模块。–force 参数表…...

C语言---插入排序、希尔排序、冒泡排序、选择排序、快速排序简单介绍
文章目录 插入排序希尔排序冒泡排序选择排序快速排序 本文主要介绍用C语言实现的一些排序方法,有插入排序、希尔排序、冒泡排序、选择排序和快速排序,文章中给出的例子都是按照升序排列的。 插入排序 若数组只有一个元素,自然不用排序&#…...
撸视频号收益这个副业靠谱吗?
我是卢松松,点点上面的头像,欢迎关注我哦! 昨天有个人问我说做视频号能月入过万吗? 我的回复是:99%的人不能。 但为什么会经常有人这么问呢,松松思考了一下,原因是最近很多人在晒视频号撸收益的项目&am…...
2、数组、Map+HashMap、Set+Hashset、Char和Character类、String类和Char类、Math类
数组 \\一个普通的长度为1的整数数组 Integer[] arr new Integer[1];\\一个普通长度为1的同时元素初始化为1的整数数组。 Integer[] arr new Integer[]{1};\\一个长度为0的空数组 Integer[] arr new Integer[0];Map 常见方法 void clear( ) 从此映射中移除所有映射关系&#…...

ESP8266 WiFi模块快速入门指南
ESP8266是一种低成本、小巧而功能强大的WiFi模块,非常适合于物联网和嵌入式系统应用。本指南将为您提供关于ESP8266 WiFi模块的快速入门步骤和基本知识。 第一步:硬件准备 首先,您需要将ESP8266 WiFi模块与您的开发板连接。通常情况下&#…...

微信小程序将后端返回的图片文件流解析显示到页面
说明 由于请求接口后端返回的图片格式不是一个完整的url,也不是其他直接能显示的图片格式,是一张图片 后端根据模板与二维码生成图片,返回二进制数据 返回为文件流的格式,用wx.request请求的时候,就自动解码成为了下面这样的数据数据格式,这样的数据没…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...