当前位置: 首页 > news >正文

开发知识点-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请求的时候,就自动解码成为了下面这样的数据数据格式,这样的数据没…...

SpringMVC5.0

Spring留言板实现预期结果可以发布并显示点击提交后,显示并清除输入框并且再次刷新后,不会清除下面的缓存约定前后端交互接口Ⅰ 发布留言 url : /message/publish . param(参数) : from,to,say . return : true / false .Ⅱ 查询留言 url : /message/get…...

leetcode 2452. 距离字典两次编辑以内的单词 中等

给你两个字符串数组 queries 和 dictionary 。数组中所有单词都只包含小写英文字母,且长度都相同。一次 编辑 中,你可以从 queries 中选择一个单词,将任意一个字母修改成任何其他字母。从 queries 中找到所有满足以下条件的字符串&#xff1a…...

WarcraftHelper终极指南:5分钟解决魔兽争霸3现代兼容性问题

WarcraftHelper终极指南:5分钟解决魔兽争霸3现代兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上的…...

别再只盯着西门子三菱了!盘点那些好用不贵的国产HMI触摸屏品牌(附选型指南)

国产HMI触摸屏品牌深度评测与选型指南:如何用30%预算实现80%进口品牌功能 在工业自动化领域,人机界面(HMI)作为连接操作人员与设备的"神经中枢",其重要性不言而喻。过去十年间,国内HMI市场格局已发生翻天覆地的变化——…...

Gemma-4-26B-A4B-it-GGUF保姆级教程:UD-Q4_K_M量化+llama_cpp_python快速上手

Gemma-4-26B-A4B-it-GGUF保姆级教程:UD-Q4_K_M量化llama_cpp_python快速上手 1. 模型介绍与准备 1.1 认识Gemma-4-26B-A4B-it模型 Gemma-4-26B-A4B-it是Google Gemma 4系列中的高性能MoE(混合专家)聊天模型,具有以下核心特点&a…...

阿里云ECS实战:从零部署AKShare HTTP接口到外网访问(含防火墙、安全组避坑指南)

阿里云ECS实战:从零部署AKShare HTTP接口到外网访问(含防火墙、安全组避坑指南) 在数据驱动的时代,能够快速获取和处理金融数据对于个人开发者和中小团队来说至关重要。AKShare作为一款优秀的开源金融数据接口库,通过P…...

8d报告案例分析:拆解8d报告案例分析的8个步骤,解决生产现场重复发生的质量难题

在制造业的质量管理工作中,8d报告案例分析绝对是绕不开的核心话题。无论是应对主机厂的客诉,还是解决内部生产现场重复发生的质量难题,一份高质量的8d报告案例分析都是质量人手中的“尚方宝剑”。然而,很多企业在进行8d报告案例分…...

终极指南:如何用Nucleus Co-Op免费实现单电脑多人分屏游戏体验

终极指南:如何用Nucleus Co-Op免费实现单电脑多人分屏游戏体验 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 你是否曾梦想过与朋友在…...

终极指南:如何用XXMI启动器一键管理6款热门二次元游戏模组

终极指南:如何用XXMI启动器一键管理6款热门二次元游戏模组 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 你是否厌倦了为每款游戏单独安装、配置和更新模组&#xf…...

VSCode里调用本地大模型总报错?7类高频Error代码级诊断手册,资深架构师连夜整理

更多请点击: https://intelliparadigm.com 第一章:VSCode里调用本地大模型总报错?7类高频Error代码级诊断手册,资深架构师连夜整理 在 VSCode 中通过插件(如 Continue.dev、Tabby、Ollama Extension)或自定…...