esp32-C3

一、esp端

        ESP32 由 Espressif Systems 打造,是一款低成本、低功耗的系统 具有Wi-Fi和双模蓝牙功能的片上(SoC)系列!ESP32 系列包括芯片 ESP32-D0WDQ6(和 ESP32-D0WD), ESP32-D2WD 电子版, ESP32-S0WD系列, 以及系统级封装 (SiP) ESP32-PICO-D4。 它的核心是双核或单核 Tensilica Xtensa LX6 微处理器,时钟频率高达 240 MHz。 ESP32 高度集成内置天线开关、射频巴伦、 功率放大器、低噪声接收放大器、滤波器和电源 管理模块。专为移动设备、可穿戴电子产品、 和物联网应用,ESP32 通过以下方式实现超低功耗 省电功能,包括高分辨率时钟门控、多个时钟门控 电源模式和动态电源缩放。

模块有如下:

  • 处理器:
    • 主处理器:Tensilica Xtensa 32 位 LX6 微处理器
      • 核心:2 或 1(取决于变化)
        ESP32 系列的所有芯片均为双核 除了ESP32-S0WD是单核的。
      • 时钟频率:高达 240 MHz
      • 性能:高达 600 DMIPS
    • 超低功耗协处理器:允许您进行ADC转换、计算和电平 深度睡眠时的阈值。
  • 无线连接:
    • Wi-Fi:802.11 b/g/n/e/i(802.11n @ 2.4 GHz,高达 150 Mbit/s)
    • 蓝牙:v4.2 BR/EDR 和低功耗蓝牙 (BLE)
  • 记忆:
    • 内部存储器:
      • ROM值: 448 KiB
        用于启动和核心功能。
      • SRAM:520 KiB
        用于数据和说明。
      • RTC快速SRAM:8 KiB
        用于从深度睡眠模式启动 RTC 期间的数据存储和主 CPU。
      • RTC 慢速 SRAM:8 KiB
        用于在深度睡眠模式下进行协处理器访问。
      • 电子保险丝:1 Kibit
        其中 256 位用于系统 (MAC地址和芯片配置)和其余部分 768 位保留用于客户应用程序,包括 闪存加密和芯片 ID。
      • 嵌入式闪存:
        闪存通过 ESP32-D2WD 和 ESP32-PICO-D4 上的 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 进行内部连接。
        • 0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)
        • 2 MiB (ESP32-D2WD 芯片)
        • 4 MiB(ESP32-PICO-D4 SiP 模组)
    • 外部闪存和SRAM:ESP32 支持多达 4 个 16 MiB 外接 QSPI 闪存和 具有基于AES的硬件加密的SRAM来保护 开发人员的程序和数据。ESP32 可以访问 通过高速缓存实现外部QSPI闪存和SRAM。
      • 高达 16 MiB 的外部闪存具有内存映射 到 CPU 代码空间,支持 8 位、16 位和 32 位访问。支持代码执行。
      • 映射高达 8 MiB 的外部闪存/SRAM 存储器 到 CPU 数据空间,支持 8 位、16 位 和 32 位访问。数据读取在 闪存和 SRAM。SRAM支持数据写入。
      嵌入式闪存的 ESP32 芯片不支持 外部闪存和外设之间的地址映射。
  • 外设输入/输出:带DMA的丰富外设接口 包括电容式触摸、ADC(模数转换器)、 DAC(数模转换器)、I²C(内部集成电路)、 UART(通用异步接收器/发射器), CAN 2.0(控制器局域网)、SPI(串行外设接口)、 I²S(集成IC间声音),RMII(减少介质独立性) 接口)、PWM(脉宽调制)等。
  • 安全:
    • 支持 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI
    • 安全启动
    • 闪存加密
    • 1024 位 OTP,最高 768 位(适用于客户)
    • 加密硬件加速:AES、SHA-2、RSA、椭圆 曲线密码学 (ECC)、随机数生成器 (RNG)

二、实做部分

        学习了ESP32的引脚部分后,了解各个引脚的作用,焊接一块电路板,并将ESP32-C3连接,安装好Arduino软件以及相关的库。做一些小实验,流水灯的点亮。例如:

esp32-C3_第1张图片

/*
Blink
*/
// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin ledPin as an output.
pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage
level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage
LOW
delay(1000); // wait for a second
}

注意:配置好相应的库与端口。

 

你可能感兴趣的:(单片机,c语言)