开发知识点-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/120543.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FPGA设计过程中有关数据之间的并串转化

1.原理 并串转化是指的是完成串行传输和并行传输两种传输方式之间的转换的技术,通过移位寄存器可以实现串并转换。 串转并,将数据移位保存在寄存器中,再将寄存器的数值同时输出; 并转串,将数据先进行移位&#xff0…

seata事务回滚引起的skywalking数据库存储空间剧增的问题排查

基本信息 产品名称:ATS3.0 问题分类:编码问题 环境类型:环境无关 问题现象 11月1日上午华润DBA收到数据库磁盘空间告警,检查后发现skywalking连接的mysql数据库占用空间从之前一直是比较稳定的,但是10月31日…

绿光集团荣获美业科技创新大奖,杨全军董事长荣获杰出人物

近日,在2023中国(南昌)国际美发美容节之“凤凰之夜,美业盛典”上,香港绿光国际科技集团股份有限公司董事长杨全军先生荣获了2023年度“凤凰”杰出人物奖。同时,绿光集团也因其研发的AI人工智能数字光磁床、…

pycharm pro v2023.2.4(Python开发)

PyCharm是一种Python集成开发环境(IDE),PyCharm提供了强大的功能,包括语法突出显示、智能代码完成、代码检查、自动重构和调试等特性,这些都可以帮助Python开发人员更加高效地编写代码。 PyCharm Pro是PyCharm的高级版…

[C/C++]数据结构 链表OJ题: 反转链表

描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 示例: 方法一: 让链表指向反向 如图所示: 代码思路: struct ListNode* reverseList(struct ListNode* head) {struct ListNode* n1NULL;struct ListNode* n2head;struct ListNode*…

使用Python从零实现多分类SVM

本文将首先简要概述支持向量机及其训练和推理方程,然后将其转换为代码以开发支持向量机模型。之后然后将其扩展成多分类的场景,并通过使用Sci-kit Learn测试我们的模型来结束。 SVM概述 支持向量机的目标是拟合获得最大边缘的超平面(两个类中最近点的距…

Go语言用Colly库编写的图像爬虫程序

下面是一个使用Colly库编写的Go语言图像爬虫程序,该程序会爬取news.qq上的图片,并使用proxy_host:duoip和proxy_port:8000的爬虫IP服务器进行抓取。 package mainimport ("fmt""net/http""github.com/crawlab-collective/go-co…

YOLOv4: Optimal Speed and Accuracy of Object Detection(2020.4)

文章目录 AbstractIntroductionRelated workObject detection modelsBag of freebiesBag of specials MethodologySelection of architectureSelection of BoF and BoSAdditional improvementsYOLOv4 ExperimentsResults表8列出了使用Maxwell GPU的帧率对比结果表9列出了使用Pa…

asp.net生产线远程故障诊断系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 生产线远程故障诊断系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用 c#语言开发 asp.net生产线远程故障诊断…

ARMday03(寄存器读写、栈、程序状态寄存器、软中断和异常、混合编程)

单寄存器内存读写指令 将一个寄存器中的数值写入到内存,或者从内存中读取数据放在某一个指定寄存器中 指令码和功能 1.向内存中写: str{条件码} 目标寄存器,[目标地址]:将目标寄存器的4字节数值写入到目标地址为首地址的空间中 strh{条件码…

openvino学习(一)ubuntu20.04安装openvino2022

安装openvino2022要求 操作系统 Ubuntu 18.04 长期支持 (LTS),64 位 Ubuntu 20.04 长期支持 (LTS),64 位 软件 CMake 3.13 或更高版本,64 位 GCC 7.5.0(适用于 Ubuntu 18.04)或 GCC 9.3.0(适用于 Ubunt…

[ Linux Busybox ] flash_eraseall 命令解析

文章目录 相关结构体flash_eraseall 函数实现flash_eraseall 实现流程图 文件路径:busybox-1.20.2/miscutils/flash_eraseall.c 相关结构体 MTD 相关信息结构体 struct mtd_info_user {__u8 type; // MTD 设备类型__u32 flags; // MTD设…

一篇文章带你搞懂DNS全流程

1.DNS与CDN DNS是域名系统的缩写,它是一种将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网。 DNS的主要功能是将域名解析为IP地址。当你在浏览器中输入一个网址时,浏览器会向DNS服务器发送一个请求,以获取该网…

如何使用 JMeter 进行 HTTPS 请求测试?

本文将介绍如何使用 JMeter 测试 HTTPS 请求,并提供相关的技巧和注意事项。 在进行性能测试时,很多网站都采用了 HTTPS 协议。当我们测试 HTTPS 请求,如果服务端开启了双向认证,则需要客户端发送请求时带上证书。本文介绍如何在 …

换服还是掀桌?哪条才是程序员的出路?

站在时代的风口浪尖,猪都能起飞。 大数据互联网正是时代的宠儿,IT行业的发展也正如火如荼。 人人都眼红程序员的高薪资,认为他们吃着时代的红利。 但是三百六十行,行行出社畜。”996“也好,甚至"007"也罢…

软件测试面试题【2023最新合集】

收集了各大公司的面试经验,现整理出来,希望能给正在找工作的志同道合的小伙伴一些指引,本文会持续更新的哦。 1、 CPU 和 GPU的区别 一个是通用计算,一个是专用计算。 CPU主要负责操作系统和应用程序,GPU主要负责跟…

TensorFlow学习笔记--(1)张量的随机生成

张量的生成 如何判断一个张量的维数:看张量的中括号有几层 0 1 2 :零维数列 [2 4 6] : 一维向量 [ [1 2 3] [4 5 6] ] : 二维数组 两行三列 第一行数据为 1 2 3 第二行数据为 4 5 6 以此类推 n维张量有n层中括号 tf.zeros(%指定一个张量的维数%) 生成一…

汽车标定技术(二)--基于XCP的标定测量实战

目录 1.工程创建 1.1 新建工程 1.2 设备配置 1.3 标定观测 1.4 刷写 2.原始hex文件与标定文件的合并 2.1 修改memory segment file 2.2 标定量地址偏移 ​编辑 2.3 标定后与原始hex文件合并 2.4 标定后直接merge 2.5 不用对ram地址进行偏移实现hex文件合并 本文使用…

【机器学习】梯度下降预测波士顿房价

文章目录 前言一、数据集介绍二、预测房价代码1.引入库2.数据3.梯度下降 总结 前言 梯度下降算法学习。 一、数据集介绍 波士顿房价数据集:波士顿房价数据集,用于线性回归预测 二、预测房价代码 1.引入库 from sklearn.linear_model import Linear…