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

单片机相关知识点

文章目录

  • 单片机相关知识点
    • 一,了解嵌入式和单片机
      • 1.1 什么是嵌入式
        • 1.1.1 定义
        • 1.1.2 特点
      • 1.2 什么是单片机
        • 1.2.1 定义
      • 1.3 思维导图
      • 1.4 单片机的硬件特性
      • 1.5 单片机启动流程
    • 二,单片机相关知识点
      • 2.1 GPIO
        • 2.1.1 GPIO 概述
        • 2.1.2 GPIO 的输入输出模式(STM32 为例)
      • 2.2 串口
        • 2.2.1 串口的用途
        • 2.2.2 串行和并行
        • 2.2.3 异步和同步串行通信
        • 2.2.4 单工,半双工和全双工串行通信
        • 2.2.5 比特率和波特率
      • 2.3 中断
        • 2.3.1 中断是什么
        • 2.3.2 中断的特点
        • 2.3.3 中断协作
        • 2.3.4 中断分类
        • 2.3.5 中断优先级

单片机相关知识点

一,了解嵌入式和单片机

1.1 什么是嵌入式

1.1.1 定义

​ 嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统

1.1.2 特点

​ 嵌入式系统的硬件和软件必须根据具体的应用任务,以功耗、成本、体积、可靠性、处理能力等为指标来进行选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,且对实时性有严格要求。从构成上看,嵌入式系统是集软硬件于一体的、可独立工作的计算机系统;从外观上看,嵌入式系统像是一个**“可编程”的电子“器件”;从功能上看,它是对目标系统(宿主对象)进行控制**,使其智能化的控制器

1.2 什么是单片机

1.2.1 定义

​ 单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力中央处理器CPU随机存储器 RAM只读存储器 ROM多种 I/O 口中断系统定时器/计数器等功能(可能还包括显示驱动电路脉宽调制电路模拟多路转换器A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

1.3 思维导图

我们可以把计算机技术分为五个部分:单片机基础,时钟与晶振,GPIO 与中断,通信协议,RT-Thread 系统。

单片机基础

  • 单片机是一种集成电路,集成了 CPU,RAM,ROM 等多种功能。
  • 单片机的硬件特性包括体积小,集成度高,低电压低功耗等。
  • 单片机的启动流程包括上电复位,时钟初始化,外设初始化等步骤。

时钟与晶振

  • 时钟为单片机提供工作频率,常见的时钟源有 HSL,HSE,PLL等。
  • 晶振通过电压效应产生谐振,提供稳定的时钟信号。
  • 通过 PLL 可以将 8MHz 晶振倍频至 72MHz,提高时钟频率的稳定性。

GPIO 与中断

  • GPIO 口有输入和输出两种工作模式,支持浮空,上拉,下拉等配置。
  • 中断用于快速响应外部事件,提高 CPU 效率,支持优先级设置。
  • EXTI 控制器用于检测外部信号的变化边沿,并产生中断。

通信协议

  • 串口通信分为异步和同步,支持单工,半双工和全双工三种模式。
  • SPI 是一种高速全双工通信协议,支持主从模式和多种时钟模式。
  • IIC 是一种串行通信协议,支持多主从架构,使用 SCL 和 SDA 两根线。

RT-Thread 系统

  • RT-Thread 是一个实时操作系统,支持多任务调度和优先级管理。
  • RT-Thread 的启动流程包括硬件初始化,调度器启动和任务创建等步骤。
  • RT-Thread 支持信号量,互斥量,事件等多种任务间通信机制。

1.4 单片机的硬件特性

  • 单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。

  • 单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。

  • 单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。

  • 单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。

  • 成本低,更适合在嵌入式领域应用。

  • **总结:**一个微控制器(MCU–单片机)的组成?最小系统板包含哪些内容?
    晶振(时钟),电源 ,复位(上电复位)。

  • 复位电路的作用?

单片机刚开始上电的时候,避免电压波动对单片机工作的影响,所以说先要复位(类似与按键的物理消抖)。

1.5 单片机启动流程

​ MCU上电(复位)时,从固定的地址启动,一般是地址0x00000000,如ARM7;个别特殊的如STM32默认启动地址为0x8000000(flash区启动)。STM32的内部闪存地址起始于0x8000000,一般情况下,程序文件就从此地址开始写入。此外STM32是基于Cortex-M3内核的微控制器,其内部通过一张“中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量(上面的Reset_Handler)执行复位中断程序完成启动。

常规模式总结:大家一定要看启动文件:

常规模式总结:大家一定要看启动文件

二,单片机相关知识点

2.1 GPIO

2.1.1 GPIO 概述

GPIO(General Purpose Input/Output)是STM32微控制器最基本、最常用的外设之一,用于
与外部设备进行数字信号交互(如控制LED、读取按键、驱动传感器等)。
咱们学习 Hi3861 中利用 GPIO 完成了 LED 控制,按键控制,传感器数据读取,蜂鸣器控制,利
用 GPIO 模版 PWM 控制舵机。

GPIO 的控制核心逻辑:

  • 输入输出控制
  • 高低电平控制

在当前 STM32F103ZET6 中一共有:

  • 7 组 GPIO 分别对应 GPIOA ~ GPIOG 分组;
  • 同时每一个 GPIO 分组对应 16 个对外引脚,流入 GPIOA00 ~ GPIOA15 ==> PA0 ~ PA15;
  • STM32F103ZET6 对外可以提供可编程 GPIO 引脚一共是 16 * 7 ==> 112 引脚。
2.1.2 GPIO 的输入输出模式(STM32 为例)
  • 哪一组 GPIO,例如 GPIOB
  • 操作的 GPIO 是当前组内第几个 Pin 引脚, 对应引脚为 5 引脚 ==> PB5
  • 设置 GPIO 的工作模式

I/O 端口位的基本结构

浮空输入模式(Floating Input)

  • **原理:**在这种模式下,GPIO 引脚没有接上拉电阻或下拉电阻,其电平状态完全取决于外部电
    路。引脚处于高阻抗状态,输入电流几乎为零。
  • **应用场景:**适用于外部信号已经有明确的驱动能力和电平状态的情况,比如连接按键,按键
    按下时直接将引脚接地,松开时引脚浮空,通过读取引脚电平判断按键状态。

上拉输入模式(Pull - up Input)

  • **原理:**GPIO 引脚内部连接了上拉电阻,当外部电路没有对引脚进行驱动时,引脚电平被上拉
    到高电平。如果外部电路将引脚拉低,那么引脚电平就为低电平。
  • **应用场景:**常用于按键输入,当按键未按下时,引脚通过上拉电阻保持高电平;按键按下
    时,引脚接地变为低电平,避免了引脚浮空可能带来的电平不稳定问题。

下拉输入模式(Pull - down Input)

  • **原理:**与上拉输入模式相反,GPIO 引脚内部连接了下拉电阻,当外部电路没有对引脚进行驱
    动时,引脚电平被下拉到低电平。如果外部电路将引脚拉高,那么引脚电平就为高电平。
  • **应用场景:**同样适用于按键输入等场景,当按键未按下时,引脚通过下拉电阻保持低电平;
    按键按下时,引脚接高电平。

模拟输入模式(Analog Input)

  • **原理:**该模式下,GPIO 引脚用于模拟信号的输入,内部的数字逻辑电路被断开,引脚直接连
    接到模拟信号处理模块,如 ADC(模拟 - 数字转换器)。
  • **应用场景:**用于采集模拟信号,如温度传感器、压力传感器等输出的模拟电压信号,通过
    ADC 将模拟信号转换为数字信号进行处理。

开漏输出模式(Open - Drain Output)

  • **原理:**在开漏输出模式下,GPIO 引脚内部的输出级只有 N 沟道 MOS 管,当输出为低电平
    时,MOS 管导通,引脚接地;当输出为高电平时,MOS 管截止,引脚处于高阻态,需要外
    部接上拉电阻才能输出高电平。
  • **应用场景:**常用于实现线与功能、I2C 总线等通信协议,多个开漏输出引脚可以连接在一
    起,只要有一个引脚输出低电平,总线就为低电平。

推挽输出模式(Push - Pull Output)

  • **原理:**推挽输出模式下,GPIO 引脚内部的输出级由 P 沟道 MOS 管和 N 沟道 MOS 管组成。
    当输出为高电平时,P 沟道 MOS 管导通,引脚输出高电平;当输出为低电平时,N 沟道
    MOS 管导通,引脚输出低电平。
  • **应用场景:**适用于直接驱动一些负载,如 LED 灯,能够提供较强的驱动能力。

复用开漏输出模式(Alternate Function Open - Drain Output)

  • **原理:**该模式下,GPIO 引脚的功能由片上外设控制,输出级采用开漏输出结构。与普通开漏
    输出模式类似,需要外部接上拉电阻才能输出高电平。
  • **应用场景:**常用于一些通信协议和外设接口,如 SPI 总线的某些引脚、I2C 总线等,将 GPIO
    引脚复用为外设的特定功能。

复用推挽输出模式(Alternate Function Push - Pull Output)

  • **原理:**此模式下,GPIO 引脚的功能由片上外设控制,输出级采用推挽输出结构,能够直接输
    出高电平和低电平。
  • **应用场景:**常用于一些需要较强驱动能力的外设接口,如 UART 通信的发送引脚、PWM 信
    号输出等。

2.2 串口

2.2.1 串口的用途
  • 硬件中数据传递的一种方式,对应 USART 和 UART。包括 RS485 RS232 CAN ;
  • 主要用户是按照【串行数据传递形式】完成设备之间的数据通信。
2.2.2 串行和并行

机器的通信方式有两种,分别是并行通信与串行通信。

**并行通信:**并行通信是指多比特数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错(了解)。

**串行通信:**串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

串行通信和并行通信的特性对比:

2.2.3 异步和同步串行通信

串行通信有两种,分别是异步串行通信与同步串行通信。两种串行通信不同就只有时间,在发送字符时,异步可以是不同时间间隔发送,但同步只能以固定的时间间隔发送。

**异步串行通信:**异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。

主设备(Master)从设备(Slave),数据发送和接收**【时钟总线】不同**

  • 主设备数据位,字节和从设备数据位,字节,直接的时间关系无所谓。假设主设备进行数据发送,从设备等了两年半之后接收数据。【异步】。
  • 数据内容必须有明确的【起始标记】和【终止标记】。

**同步串行通信:**同步串行通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。

主设备(Master)从设备(Slave),数据发送和接收**【时钟总线】步调一致**

  • 主设备和从设备之间进行数据传递。主设备数据位,字节和从设备数据位,字节时钟一致。【同步状态】。

2.2.4 单工,半双工和全双工串行通信

串行通信制式有单工串行通信,半双工串行通信,全双工串行通信三种。

  • **单工串行通信:**单工串行通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另一端,即信息流是单方向的。
  • **半双工串行通信:**半双工串行数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些数据来自数据刚刚传输的方向。像全双工传输一样,半双工包含一个双向线路(线路可以在两个方向上传递数据)。
  • **全双工串行通信:**全双工串行通信是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工机也称为异频双工机。
  • 三种通信制式很容易理解,对照上图看,单工串行通信不就是单方面通信,只能发出指令或接收指令。半双工串行通信就是能接收又能发送,但是不能同时进行。全双工串行通信就最厉害,可以同时发送和接收指令。
2.2.5 比特率和波特率

2.2.5.1 比特率

**定义:**比特率是指单位时间内传输的二进制比特(bit)的数量。
**单位:**比特每秒(bps, b/s),如 kbps, Mbps。
**关注点:**数据传输的效率。
**计算公式:**比特率 (Rb) = 波特率 (Rs) × 每个符号承载的比特数 (m)

2.2.5.2 波特率

**定义:**波特率是指单位时间内通信线上信号符号变化的次数。一次变化称为一个波特。
**单位:**波特(Baud)。
**关注点:**信号的调制速度。
**计算公式:**波特率 (Rs) = 比特率 (Rb) / 每个符号承载的比特数 (m)

2.2.5.3 区别与联系

  • 核心区别

比特率:衡量有效信息的传输速度。

波特率:衡量信号符号的变化速度。

  • 可以把通信想象成运货:
    比特率关心的是每秒从A地运到B地多少公斤(公斤/秒)的货物。
    波特率关心的是每秒从A地发出多少辆卡车(辆/秒)。
    至于每辆卡车能装多少公斤货物(一个符号代表几个比特),那是另一回事。
特性比特率波特率
衡量对象数据量(信息量)信号变化次数(符号率)
核心问题每秒传多少比特每秒信号变化多少次
单位bps (bits per second)Baud (Symbols per second)
关系比特率 ≥ 波特率波特率 ≤ 比特率
依赖关系由波特率和调制方式共同决定由信道带宽和调制方式决定

2.2.5.4 总结

区别:比特率是信息速度,波特率是符号速度。
**联系:**比特率 = 波特率 × log₂(M),其中M是调制符号的总数。
**关键点:**在简单的二进制调制下(m=1),二者数值相等,因此常常混用“波特率”和“比特率”。但在现代高速通信中(如Wi-Fi, 4G/5G),由于采用了高阶调制(m>>1),所以比特率远大于波特率。

2.3 中断

2.3.1 中断是什么

​ 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并且立即转入处理新情况的程序(中断服务函数),处理完毕后又返回原被暂停的程序继续运行。

2.3.2 中断的特点
  • 中断是属于内核的,中断本身也是一种异常,此种异常是可控,我们称为中断。
  • 中断操作是针对于特定的事件/行为,进行特定的处理操作。需要【触发机制】和【注
    册行为】。
  • 中断的作用主要是为了提高CPU的工作效率。
  • 中断的特性:快速响应,只要触发的事件满足,就会立即执行中断服务函数。
  • 中断服务函数:快进快出,不能存在大量的延时函数,或者循环语句,一般都是用于获取某个事件标志,具体的执行内容,我们可以自己编写功能函数。
2.3.3 中断协作
  • 断点 :注册的中断触发位置,一般对应电平跳变,寄存器标志位变化。
  • 中断源 : 当前中断注册的功能函数/中断服务函数。
  • 压栈 : 中断触发,会将断点对应函数压栈操作,转换后台函数。
  • NVIC:管理中断,负责中断进入和中断退出,中断优先级设置等。
2.3.4 中断分类

**内核中断/内部中断:**芯片内部中断,也可以称之为【异常 Exception】。可以任务是程序在
正常情况下,出现不同于平常的数据情况,可以是错误,可以是标记。一般关注的是寄存器
中的中断标志位。
**外设中断:**Cortex-M3 内核 预留了外部中断控制线,可以通过外部中断控制线高低电平切
换,出现上升沿和下降沿进行中断触发。

2.3.5 中断优先级

中断优先级是由**【占先优先级】**和 **【次级优先级】**两部分组成:

  • **占先优先级:**多个中断触发时,MCU 首先根据占先优先级判断,哪一个优先级高,其他中断
    进入等待等待状态。【占先优先级谁高谁执行】。
  • **次级优先级:**同时存在多个相同 占先优先级 中断存在,此时 MCU 按照次级优先级来决定执
    行顺序。但是如果此时有其他中断正常执行,不允许打断中断执行效果。【同步进入,谁高
    谁执行,如果中断已执行,其他中断不得抢占】。
http://www.dtcms.com/a/400094.html

相关文章:

  • 网站如何伪静态怎么做新浪网站
  • 【多线程】信号量(Semaphore)常见的应用场景
  • 注册网站账号违法吗莱芜最好的网站建设公司
  • seo关键词排名技巧网站诊断网站seo诊断
  • 月饼杯(web全解)
  • 临床研究三千问——临床研究体系的5库(10)
  • 邢台装修网站建设软件开发八个阶段
  • 烟台网站建设公司地址婚纱摄影网站建设
  • 网站开发培训视频400靓号手机网站建设
  • 百度云加速 网站关键词ftp服务器搭建设置网站信息
  • 打通数字孪生项目的“最后一公里”:筑牢行业智能数字地基,重构产业落地敏捷基因
  • 新乡建设招标投标网站捕鱼游戏源码论坛
  • 路径规划智能小车(论文+源码)
  • 犀牛云网站建设wordpress插件dflip
  • 11.vector的模拟实现
  • 可以在什么网站做二建题目wordpress插件出错
  • 0716网站建设php图书管理系统网站开发
  • 做电子板报的网站企业宣传册文案范文
  • 深圳做公司网站推广的太原网站建设名录
  • 营口电商网站建设企业模板网站vue
  • python基本程序要素
  • 做镜像网站利润用ps怎么做网站背景
  • 中移物联ML307C模组OPENCPU笔记2
  • 专业网站制作公司排名网站建设底部
  • 优选算法---滑动窗口 题目及算法分析 代码实现
  • 做水果网站首页的图片素材免费空间使用指南
  • 基于SpringBoot的实习管理系统设计与实现
  • 47. 全排列 II
  • ru后缀的网站百度搜索怎么优化
  • 自己做的网站无法访问php网站开发最低配置