FLASH ARM内核 SRAM RCC ADC I/O

  1. ARM 内核 (ARM Core)

    • 是什么?:这是微控制器的 "大脑"。它是执行程序指令(如加法、减法、逻辑判断、函数调用等)的核心单元。
    • 作用:从内存(FLASH 和 SRAM)中读取指令和数据,进行运算和逻辑处理,然后将结果写回内存或通过外设(如 I/O、ADC)与外部世界交互。
    • 常见例子:Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33 等。不同的内核代表了不同的性能级别和功能特性。
  2. FLASH (闪存)

    • 是什么?:这是微控制器的 "硬盘" 或 "ROM"。它是一种非易失性存储器,意味着即使断电,存储在里面的数据也不会丢失。
    • 作用
      • 存储程序代码:你的嵌入式应用程序(比如用 C 语言写的代码)编译后生成的机器码就存放在这里。
      • 存储常量数据 :程序中定义的常量(const变量)也通常存放在 FLASH 中。
    • 特点:读取速度较快,但写入(编程)和擦除速度相对较慢,且有擦写寿命限制(通常是 1 万到 10 万次)。
  3. SRAM (静态随机存取存储器)

    • 是什么?:这是微控制器的 "内存" 或 "RAM"。它是一种易失性存储器,断电后数据会立即丢失。
    • 作用
      • 运行时数据存储:程序运行时,所有的变量(全局变量、局部变量、函数参数等)都在 SRAM 中创建和操作。
      • 堆栈 (Stack):用于函数调用时保存返回地址和局部变量。
      • 堆 (Heap) :用于动态内存分配(malloc, new)。
    • 特点:读写速度非常快,是程序运行时数据交换的核心区域。其大小是衡量 MCU 性能的一个重要指标。
  4. RCC (Reset and Clock Control)

    • 是什么?:这是微控制器的 "心脏起搏器" 和 "时钟调度中心"。
    • 作用
      • 复位控制:管理 MCU 的复位源(如上电复位、外部复位引脚、看门狗复位等),确保 MCU 能从一个已知的初始状态开始运行。
      • 时钟控制:为整个 MCU 系统和各个外设(如 ADC, UART, SPI, I2C 等)提供稳定的时钟信号。时钟是 MCU 内部所有同步操作的节拍。
      • 时钟配置:允许开发者配置系统时钟的来源(如内部高速 RC 振荡器、外部晶体振荡器)和频率,以在性能和功耗之间取得平衡。例如,STM32 可以配置为使用 8MHz 外部晶振,并通过内部 PLL 倍频到 72MHz 或更高。
  5. ADC (Analog-to-Digital Converter)

    • 是什么?:这是一个 "翻译官",负责将模拟信号转换为数字信号。
    • 作用:MCU 本身是数字电路,只能处理 0 和 1 组成的数字信号。但现实世界中的许多信号是连续变化的模拟信号(如温度、湿度、光照强度、声音、电压等)。ADC 的作用就是定期 "采样" 这些模拟信号,并将其转换为 MCU 可以理解和处理的数字值。
    • 关键参数
      • 分辨率:例如 12 位 ADC,可以将模拟信号量化为 2^12 = 4096 个不同的数字值(0 到 4095)。分辨率越高,测量越精确。
      • 转换速度:完成一次从模拟到数字转换所需的时间。
      • 输入通道:ADC 可以有多个输入通道,通过多路选择器切换,实现对多个模拟信号的轮流测量。
  6. I/O (Input/Output)

    • 是什么? :这是 MCU 与外部世界进行 "沟通" 的 "嘴巴" 和 "耳朵",通常以GPIO (General Purpose Input/Output) 的形式存在。
    • 作用
      • 输出 (Output):MCU 可以通过设置某个 I/O 引脚的电平(高电平 VCC 或低电平 GND)来控制外部设备,例如点亮 LED、驱动继电器、控制电机的转速和方向等。
      • 输入 (Input):MCU 可以通过读取某个 I/O 引脚的电平来检测外部信号,例如检测按键是否被按下、读取传感器的数字输出状态等。
    • 特点:I/O 引脚通常是多功能的。除了作为通用的 GPIO,它们还可以被配置为特定外设的功能引脚(例如,UART 的 TX/RX,SPI 的 SCLK/MOSI/MISO,I2C 的 SDA/SCL 等)。这种复用功能极大地增强了 MCU 引脚的灵活性和功能性。
相关推荐
BackCatK Chen6 小时前
第 8 篇:TMC2240 电机正反转实现|DIR 引脚控制 + 代码优化(稳定不抖动)
stm32·单片机·嵌入式硬件·保姆级教程·电机正反转·tmc2240·dir引脚控制
星马梦缘7 小时前
EDA彩灯电路绘制
单片机·嵌入式硬件·物联网·pcb·eda·嘉立创
Forsete9 小时前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
森G10 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
Hello_Embed12 小时前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
VekiSon13 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
AI+程序员在路上14 小时前
Nand Flash与EMMC区别及ARM开发板中的应用对比
arm开发
来自晴朗的明天14 小时前
14、光耦隔离电路(EL3H7)
单片机·嵌入式硬件·硬件工程
G***技14 小时前
杰和IB3-272:以低功耗高性能打造新一代工业智能交互核心
单片机·嵌入式硬件·物联网
czhaii15 小时前
STC AI8052U单片机特点
单片机