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 引脚的灵活性和功能性。
相关推荐
嵌入式老牛12 小时前
HC32F460_ADC驱动(三)
单片机·嵌入式硬件
秀秀更健康12 小时前
stm32: 系统时钟如何配置为72Mhz
stm32·单片机·嵌入式硬件
QAQ小菜鸟16 小时前
一、安装Altium Designer 26.1
嵌入式硬件
嵌入式-老费17 小时前
esp32开发与应用(用面包板去学模块)
嵌入式硬件
归零鸟18 小时前
WD Elements移动硬盘能识别出盘但不能出盘的修复记录
stm32·单片机·嵌入式硬件
追兮兮19 小时前
MCUQuickStart v1.1.0发布,一键生成Keil工程+RTOS模板
stm32·单片机·嵌入式硬件·freertos·gd32·keil5
国科安芯19 小时前
ASP7A84AS与主流架构兼容替代及系统级电源完整性解决方案的深度研究
单片机·嵌入式硬件·架构
kaikaile199519 小时前
STC8单片机实现简单花样DMX512控制器
单片机·嵌入式硬件
szxinmai主板定制专家19 小时前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发
rit843249919 小时前
STM32移植NES模拟器指南
stm32·单片机·嵌入式硬件