嵌入式学习前要了解的基础知识
一、电压和电流
在嵌入式开发中,电压和电流是两个基本的电气概念,对于理解和设计电子电路至关重要。它们直接影响到嵌入式系统的性能、功耗、可靠性和安全性。
电压(Voltage)
电压是电场力推动电荷移动的能力,通常以伏特(V)为单位。在嵌入式系统中,电压的概念涉及到以下几个方面:
-
供电电压:嵌入式设备需要一个稳定的供电电压来保证其正常工作。例如,一个微控制器(MCU)可能需要3.3V或5V的供电电压。
-
逻辑电平:数字电路中,电压用来表示二进制逻辑电平。例如,高电平(High)可能表示逻辑1,低电平(Low)表示逻辑0。
-
模拟信号:在模拟电路中,不同的电压值代表不同的信号强度,如声音、光线或温度等。
-
电压转换:嵌入式系统中可能需要不同电压级别的组件,因此需要电压转换器(如稳压器、升压器或降压器)来适应不同的电压需求。
-
电压调节:为了保护敏感的电子元件,可能需要对电压进行调节,防止电压过高或过低。
电流(Current)
电流是电荷流动的速率,通常以安培(A)为单位。在嵌入式系统中,电流的概念涉及到以下几个方面:
-
供电电流:嵌入式设备工作时会消耗一定的电流。例如,一个微控制器在运行时可能消耗几毫安培(mA)到几十毫安培的电流,一般都不会超过25mA。
-
功耗:电流与电压的乘积等于功耗(功率)。功耗是衡量嵌入式系统能源效率的重要指标。
-
限流保护:为了防止电路过载或损坏,可能需要限制通过电路的电流。
-
信号传输:在模拟信号传输中,电流的大小可以表示信号的强度。
-
电磁兼容性:电流的变化可能产生电磁干扰,影响系统的电磁兼容性(EMC)。
电压和电流的关系
在嵌入式开发中,电压和电流之间存在密切的关系:
-
欧姆定律:电压(V)、电流(I)和电阻(R)之间的关系由欧姆定律描述:V=I×R。这意味着通过改变电阻,可以控制电流或电压。
-
功率计算:功耗(P)可以通过电压和电流计算得出:P=V×I。
-
信号完整性:在高速信号传输中,电压摆幅和电流能力需要满足一定的要求,以保证信号的完整性。
应用场景
在嵌入式开发中,电压和电流的概念广泛应用于:
-
电源管理:设计电源电路,确保系统各部分获得合适的电压和电流。
-
电路设计:选择合适的电压和电流规格,以满足电路的性能和功耗要求。
-
故障诊断:通过测量电压和电流,诊断电路中的故障。
-
安全保护:设计过压、过流保护电路,防止系统损坏。
总之,在嵌入式开发中,电压和电流是设计和分析电路的基础,对于确保系统的稳定性和可靠性至关重要。


二、单片机概述
单片机(Single Chip Microcomputer)
单片机是一种集成电路,它集成了处理器核心CPU、内存、输入/输出(I/O)端口、串行通讯接口、定时器、模拟/数字转换器(ADC/DAC)等多种功能。单片机通常用于控制应用,能够执行简单的程序来管理设备的操作。它们可以是通用的,也可以是为特定应用定制的。也叫(Micro Controller Unit )MCU。
嵌入式系统(Embedded System)
嵌入式系统是一种专用计算机系统,它作为更大的设备或系统的一个组成部分,通常用于控制设备的操作。嵌入式系统可能包含一个或多个微处理器或微控制器,以及为特定任务设计的硬件和软件。嵌入式系统的关键特性包括:
-
专用性:为特定的控制功能或应用而设计。
-
实时性:能够保证在严格定义的时间范围内响应。
-
资源受限:在处理能力、内存和能源方面有限制。
-
可靠性和稳定性:需要在恶劣环境下可靠运行。
-
体积小:通常嵌入在所控制的设备内部。
单片机和嵌入式系统的区别
虽然所有的单片机都可以被认为是嵌入式系统,但并非所有的嵌入式系统都是单片机。区别主要体现在:
-
复杂性:嵌入式系统可能比单片机更复杂,因为它们可能包含多个处理器和复杂的外围设备。
-
集成度:单片机具有高度集成的特性,而嵌入式系统可能由多个组件构成,这些组件之间通过各种接口(如I2C、SPI等)连接。
-
应用范围:嵌入式系统的应用范围更广,它们可以用于汽车、家用电器、工业控制等多种场合,而单片机通常用于较为简单的控制应用。
-
软件和硬件:嵌入式系统的软件和硬件通常更定制化,以适应特定的应用需求,而单片机可能运行更通用的程序。
-
开发环境:嵌入式系统的开发可能需要考虑更多的因素,如功耗、散热、实时性能等,而单片机开发可能更侧重于程序设计和逻辑控制。
总结来说,STM32作为一种单片机,可以视为一种特殊的嵌入式系统,它集成了多种功能,适用于广泛的嵌入式应用。在实际使用中,选择STM32还是其他类型的嵌入式系统,取决于具体的应用需求、性能要求和成本考虑。
常见MCU

三、单片机控制原理
单片机(通常称为微控制器或微处理器)控制原理涉及到硬件和软件的协同工作,以实现对电子设备的控制。单片机控制原理可以概括为以下几个关键步骤:
-
输入信号采集:
-
单片机通过其输入/输出(I/O)端口采集外部信号,如传感器数据、按钮状态、开关信号等。
-
-
信号处理:
-
采集到的信号可能需要通过模拟/数字转换器(ADC)转换为数字信号,以便单片机处理。
-
单片机内部的处理器对数字信号进行处理,如计算、逻辑判断、数据转换等。
-
-
决策制定:
-
根据处理后的信号,单片机运行预先编写的程序(固件)来制定控制策略。
-
程序中可能包含一系列的条件判断、循环和分支,以实现复杂的控制逻辑。
-
-
输出控制:
-
单片机根据决策结果通过I/O端口控制外部设备,如驱动电机、点亮LED、发送通信信号等。
-
输出控制可能涉及到数字信号的直接输出,或者通过驱动电路来控制更高功率的设备。
-
-
通信与协调:
-
单片机可能需要与其他设备进行通信,如通过串行通信(UART)、I2C、SPI等协议与其他单片机或模块交换数据。
-
在多设备系统中,单片机还可能需要协调不同设备之间的工作,实现同步控制。
-
-
中断处理:
-
单片机通常具有中断机制,能够响应外部或内部事件(如定时器溢出),快速改变程序执行流程以处理紧急任务。
-
中断可以使单片机及时响应外部变化,提高系统的实时性。
-
-
电源管理:
-
单片机可能需要管理其电源使用,包括节能模式的切换、电源故障检测等,以提高系统的可靠性和效率。
-
-
程序存储与执行:
-
控制程序通常存储在单片机的只读存储器(ROM)、闪存(Flash Memory)或其他非易失性存储器中。
-
单片机的处理器从存储器中取出指令,解码后执行,实现对系统的控制。
-
单片机控制系统的设计和实现需要考虑系统的整体需求,包括处理能力、内存大小、I/O端口数量和类型、通信接口、电源要求等。开发者需要根据应用场景选择合适的单片机型号,并编写相应的控制程序来实现所需功能。
高低电平
在电子学和数字电路中,高电平和低电平是用来表示二进制数的两种状态。它们是数字信号的两个基本电位(bit)状态,通常对应于逻辑“1”和逻辑“0”。
高电平(High Level)
-
高电平通常是指电路或系统中的正逻辑电平,它表示逻辑“1”。
-
在不同的电路系统中,高电平的具体电压值可能不同。例如,在TTL(晶体管-晶体管逻辑)电路中,高电平可能定义为+5V,而在CMOS(互补金属氧化物半导体)电路中,高电平可能接近电源电压,如+3.3V或+5V。
-
高电平可以用于表示设备开启、激活或“真”状态。
低电平(Low Level)
-
低电平通常是指电路或系统中的负逻辑电平,它表示逻辑“0”。
-
同样,低电平的具体电压值取决于电路类型和设计。在TTL电路中,低电平可能定义为0V,而在CMOS电路中,低电平可能接近地线电压,如0V或-0.3V。
-
低电平可以用于表示设备关闭、停用或“假”状态。
应用
高低电平在数字电路设计中非常重要,它们用于:
-
数据表示:在数字系统中,高低电平用来表示数据位。
-
逻辑运算:在逻辑门电路中,高低电平通过逻辑运算产生新的输出电平。
-
信号传输:在通信系统中,高低电平用于数据传输,如RS-232、RS-485等接口。
-
控制信号:在控制系统中,高低电平用作控制信号,如启动、停止等。
注意事项
-
噪声抗扰:在实际应用中,高低电平的选择需要考虑噪声抗扰能力,以确保信号的准确性。
-
电平转换:在模拟信号和数字信号之间转换时,需要使用电平转换器(如ADC和DAC)。
-
电压兼容性:不同设备或模块之间连接时,需要注意高低电平的电压兼容性,以避免损坏设备。
理解高低电平的概念对于设计和分析电子电路至关重要,它们是数字电子学的基础。

相关文章:
嵌入式学习前要了解的基础知识
一、电压和电流 在嵌入式开发中,电压和电流是两个基本的电气概念,对于理解和设计电子电路至关重要。它们直接影响到嵌入式系统的性能、功耗、可靠性和安全性。 电压(Voltage) 电压是电场力推动电荷移动的能力,通常以…...
RTC、直播、点播技术对比|腾讯云/即构/声网如何选型 — 2025 版
前言 作为一个有多年实战经验的开发者,在音视频技术领域我深刻体会到 RTC(实时通信)、直播和点播三者的不同。虽然它们的核心都涉及音视频内容的传输,但在实际应用中,它们的技术实现、使用场景以及所面临的挑战各不相…...
《白帽子讲 Web 安全》之文件操作安全
目录 引言 (一)文件上传与下载漏洞概述 1.文件上传的常见安全隐患 1.1前端校验的脆弱性与服务端脚本执行危机在文件上传流程中,部分开发者可能会在前端使用 JavaScript 代码对文件后缀名进行简单校验,试图以此阻止非法文件上传…...
yolov8训练模型、测试视频
yolov8先训练生成best.pt文件,用这个生成的模型进行视频的测试 因为本来用的代码生成的测试视频打不开,格式应该是损坏了,或者部分帧没有正常保存吧。 修改了一下代码,现状可以正常打开生成的视频了。 1、训练代码train.py im…...
03.网络编程套接字(二)
文章目录 简单的TCP网络程序 服务端创建套接字 服务端绑定 服务端监听 服务端获取连接 服务端处理请求 客户端创建套接字 客户端发起请求 服务器测试 单执行流服务器的弊端 多进程版的TCP网络程序 线程池版的TCP网络程序 简单的TCP网络程序 服务端创建套接字 我…...
一周学会Flask3 Python Web开发-Flask3之表单处理WTForms安装与定义WTForms表单类
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们平时开发项目,都会用到表单,编写表单,提交表单,验证表单,如果…...
Git基本命令索引
GIT基本命令索引 创建代码库修改和提交代码日志管理远程操作操作分支 创建代码库 操作指令初始化仓库git init克隆远程仓库git clone 修改和提交代码 操作指令查看文件状态git status文件暂存git add文件比较git diff文件提交git commit回滚版本git reset重命名或者移动工作…...
【论文阅读笔记】SL-YOLO(2025/1/13) | 小目标检测 | HEPAN、C2fDCB轻量化模块
目录 摘要 1 引言 2 相关工作 3 方法 3.1 为小目标检测增加一个头 3.2 优化网络结构 3.3 改进轻量化模块 3.3.1 C2fDCB 3.3.2 SCDown 4 实验 4.1 数据集 4.2 实验环境 4.3 与其他模型的比较 4.4 消融研究 ▲不同网络结构的分析 ▲不同模块的分析 ▲不同降采样…...
MySQL SQL 优化专题
MySQL SQL 优化专题 1. 插入数据优化 -- 普通插入(不推荐) INSERT INTO tb_user VALUES(1,tom); INSERT INTO tb_user VALUES(2,cat); INSERT INTO tb_user VALUES(3,jerry);-- 优化方案1:批量插入(推荐,不建议超过1…...
Mac上安装Pycharm
说明:仅供参考,是自己的安装流程,以免以后自己想不起来来看看的笔记 官网地址:https://www.jetbrains.com/pycharm/ 1、点击Download,跳转到下一个页面 2、MAC,选择Mac OS,在Pycharm Professio…...
flask框架基础入门学习教程
文章目录 前言1. 环境搭建1.1Python安装1.2选择Python开发环境1.3 创建虚拟环境(可选但推荐)1.4 安装 Flask 2. 第一个 Flask 应用3. 路由和视图函数3.1 基本路由3.2 动态路由3.3 路由参数类型 4. 请求和响应4.1 获取请求数据4.2 响应对象 5. 模板渲染6.…...
Qt显示一个hello world
一、显示思路 思路一:通过图形化方式,界面上创建出一个控件显示。 思路二:通过编写C代码在界面上创建控件显示。 二、思路一实现 点开 Froms 的 widget.ui,拖拽 label 控件,显示 hello world 即可。 qmake 基于 .…...
MySQL快速搭建主从复制
一、基于位点的主从复制部署流程 确定主库Binlog是否开启修改主从server_id主库导出数据从库导入数据确定主库备份时的位点在从库配置主库信息查看复制状态并测试数据是否同步 二、准备阶段(主库和从库配置都需要修改) 1、确定主库Binlog是否开启 2、修改主从se…...
力扣-动态规划-674 最长连续递增序列
思路 dp数组定义:以i为结尾的最长连续递增序列递推公式: if(nums[i-1] < nums[i]) dp[i] dp[i-1] 1; dp数组初始化:都为1遍历顺序:顺序时间复杂度: 代码 class Solution { public:int findLengthOfLCIS(v…...
在笔记本电脑上用DeepSeek搭建个人知识库
最近DeepSeek爆火,试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下,在笔记本电脑上部署DeepSeek并使用开源工具搭建一套知识库,实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共…...
leetcode 94. 二叉树的中序遍历
题目如下 做了那么多道难题,给自己放放松。通过代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int …...
YOLOv12:目标检测新时代的破局者
目录 一、YOLOv12 横空出世二、YOLOv12 的性能飞跃2.1 多规模优势2.2 对比超越 三、技术创新与原理剖析3.1 区域注意力模块(Area Attention,A2)3.2 残差高效层聚合网络(R-ELAN)3.3 架构优化细节 四、实验验证与结果分析…...
基于OFDR的层压陆相页岩油储层中非对称裂缝群传播的分布式光纤监测
关键词:OFDR、分布式光纤传感、裂缝传播 一. 概述 四川盆地凉高山组优质页岩油储层存在复杂的垂直重叠岩性,大陆页岩油储层存在发育层理,薄层和天然裂缝,对水平井多级压裂技术的裂缝网络形态控制和监测构成挑战。本研究提出了一…...
Linux虚拟机网络配置-桥接网络配置
简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络,以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络,从而可以被分配一个独立的IP地址,并能够与网络中的其他设…...
软开经验总结
文章目录 软开经验总结一、二次开发时候操作步骤二、logger的作用!!!三、git使用 软开经验总结 一、二次开发时候操作步骤 改 SDK 和 language level改 maven 配置改数据库 注意Mysql 版本 差别是否过大!!࿰…...
Krita AI Diffusion IP-Adapter功能异常深度排查与解决方案
Krita AI Diffusion IP-Adapter功能异常深度排查与解决方案 【免费下载链接】krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. 项目地址: https://gitcode.com/g…...
别再只用官方节点了!手把手教你安装n8n社区节点,解锁隐藏工作流能力
解锁n8n隐藏潜能:社区节点深度应用指南 你是否曾在n8n中构建工作流时,发现官方节点无法满足某些特定需求?比如需要更复杂的文本处理、社交媒体深度集成,或是与某些小众API对接?这正是社区节点大显身手的时刻。作为n8n生…...
别再用asyncio硬扛高并发了!无GIL环境下Python原生多线程性能翻倍的6个核心调优参数
第一章:Python无锁GIL环境下的并发模型演进全景Python长期以来受全局解释器锁(GIL)制约,导致多线程无法真正并行执行CPU密集型任务。近年来,随着CPython 3.12正式引入实验性“无GIL构建选项”(--without-py…...
忍者像素绘卷:天界画坊Python入门实战,3步搭建AI绘画环境
忍者像素绘卷:天界画坊Python入门实战,3步搭建AI绘画环境 1. 前言:当Python遇见像素艺术 还记得小时候玩过的8-bit游戏吗?那些由一个个小方块组成的像素世界,如今正以全新的方式回归。天界画坊是一个开源的AI绘画工具…...
保姆级教程:用Python脚本一键将Labelme标注数据喂给YOLOv5/v8训练
从Labelme到YOLO:全流程数据转换与训练实战指南 当你完成数百张图像的Labelme标注后,面对满屏的JSON文件,是否曾为如何高效转换为YOLO格式而头疼?本文将以工业级解决方案,带你打通从标注到训练的全链路。不同于简单的格…...
千问3.5-2B效果对比评测:与Qwen-VL-Chat基础版在OCR精度和响应速度上的实测差异
千问3.5-2B效果对比评测:与Qwen-VL-Chat基础版在OCR精度和响应速度上的实测差异 1. 评测背景与模型介绍 视觉语言模型正在改变我们与图像交互的方式。作为Qwen系列的最新成员,千问3.5-2B以其轻量级架构和高效性能引起了广泛关注。本次评测将聚焦于两个…...
别再手动整理了!用Python脚本5分钟搞定ImageNet验证集标签映射(附完整代码)
5分钟极速搞定ImageNet验证集标签映射:Python自动化实战指南 每次处理ImageNet验证集时,你是否也对着那些晦涩的数字标签头疼不已?手动查表不仅效率低下,还容易出错。今天我们就来彻底解决这个痛点——用Python脚本自动完成标签映…...
理视康新零售系统开发要点
业务模式设计新零售模式需整合线上线下渠道,构建会员体系、分销机制与数据中台。通过小程序、APP或H5实现线上商城,线下门店采用智能硬件(如AR试戴、智能货架)提升体验。结合LBS技术实现附近门店导流,支持到店自提或同…...
终极指南:如何彻底解决Colab运行text-generation-webui的Matplotlib后端错误
终极指南:如何彻底解决Colab运行text-generation-webui的Matplotlib后端错误 【免费下载链接】text-generation-webui The original local LLM interface. Text, vision, tool-calling, training, and more. 100% offline. 项目地址: https://gitcode.com/GitHub_…...
Wan2.2-I2V-A14B多模态延伸:结合ASR语音识别生成带字幕视频方案
Wan2.2-I2V-A14B多模态延伸:结合ASR语音识别生成带字幕视频方案 1. 方案概述 在当今视频内容创作领域,为视频添加专业字幕一直是个耗时费力的工作。传统流程需要先录制视频,再通过人工听写或专业软件添加字幕,整个过程可能需要花…...
