T13 并不是一个像 STM32 或 ESP32 那样由单一公司发布的、拥有统一官方说明书的独立 MCU 型号。

T13 实际上是 ATmega328P 的一个兼容替代型号,由中国公司 GigaDevice(兆易创新) 生产,它被广泛用于各种 Arduino 兼容板,特别是那些追求性价比的板子,如一些“UNO R3 兼容板”或“迷你 Pro Mini”。
要理解 T13,我们需要从以下几个方面入手:
- 它是什么? (T13 的身份)
- 核心规格是什么? (技术参数)
- 哪里可以找到文档? (说明书/数据手册)
- 如何开始使用它? (开发环境与示例)
T13 的身份:ATmega328P 的“平替”
您可以简单地将 T13 理解为 “中国版的 ATmega328P”。
- 原始型号: ATmega328P (由 Microchip 公司生产,原先是 Atmel 的一部分)
- 兼容型号: GD32F303 (兆易创新生产的 T13 芯片内部型号,但其引脚和功能完全对标 ATmega328P)
为什么会出现 T13? 主要原因就是成本和供应链,在全球芯片短缺或成本波动时,制造商需要一个功能完全相同、引脚兼容、代码也兼容的替代品,以保证产品生产的稳定性和降低成本,T13 就扮演了这样一个角色。

关键特性:
- 引脚兼容: 你可以直接把 T13 插到为 ATmega328P 设计的电路板上,无需任何改动。
- 指令集兼容: 你为 ATmega328P 编写的 Arduino 代码,可以直接烧录到 T13 上运行,无需修改。
- 功能兼容: 内部外设(如 UART, SPI, I2C, ADC, Timer 等)的功能和寄存器操作方式与 ATmega328P 基本一致。
T13 的核心规格 (对标 ATmega328P)
这是 T13 的主要技术参数,这些参数决定了它的性能和适用场景。
| 参数 | 规格 | 备注 |
|---|---|---|
| 内核 | AVR® RISC 架构 | 高性能、低功耗的 8 位 MCU |
| Flash 存储器 | 32 KB | 用于存储你的程序代码 |
| SRAM (数据存储) | 2 KB | 用于程序运行时的变量和数据 |
| EEPROM (持久存储) | 1 KB | 用于掉电后保存的数据,如配置信息 |
| 工作频率 | 20 MHz | 大多数 Arduino UNO 板的工作频率 |
| I/O 引脚数 | 23 个 | 6 个提供 PWM 输出 |
| ADC (模数转换器) | 10 位精度, 6/8/10/12 通道 | 用于读取模拟传感器信号 |
| 通信接口 | - UART (1个): 用于串口通信 - SPI (1个): 高速通信,常用于SD卡、显示屏 - I2C (1个): 两线制通信,常用于传感器、RTC时钟 |
|
| 定时器/计数器 | 2个 8位, 1个 16位 | 用于产生PWM、延时、计时等 |
| 工作电压 | 8V - 5.5V | 5V板和3.3V板都可以使用 |
| 封装 | - TQFP-32 (方形贴片) - PDIP-28 (直插式) |
PDIP-28 是最常见于 Arduino UNO 兼容板的封装 |
T13 的性能和资源与经典的 ATmega328P 完全一致,足以胜任大多数简单的嵌入式项目,如控制舵机、读取温湿度传感器、驱动 OLED/LCD 屏幕、简单的物联网节点等。
说明书在哪里?(文档资源)
由于 T13 是兼容替代品,它没有一份像 STM32 那样独立的、名为 "T13 Datasheet" 的官方文档,你需要查阅两份文档:

A. 主要参考:ATmega328P 数据手册
这是最重要的文档,因为 T13 的所有寄存器、电气特性、引脚定义都和它一样,当你需要深入了解底层原理、配置寄存器或解决疑难杂症时,这份文档是你的“圣经”。
- 文档名称: ATmega328P/PV Datasheet
- 获取途径:
- 官方: Microchip 官网搜索 "ATmega328P Datasheet"
- 常用中文资源: CSDN、电子发烧友论坛、GitHub 等网站上都能找到下载链接。
B. 补充参考:T13/GD32F303 数据手册
这份文档由兆易创新提供,它主要说明了 T13 芯片本身的物理特性、封装信息和一些与原始 ATmega328P 的细微差别(如果有的话),对于大多数 Arduino 这份文档的参考价值不如前者,但在做产品设计或确认芯片细节时很有用。
- 文档名称: GD32F303 系列数据手册 (注意:这是兆易创新内部对 T13 芯片的命名)
- 获取途径:
- 兆易创新官网: 访问 GigaDevice 官网,在产品中心搜索 "GD32F303"。
- 购买商: 很多销售 T13 芯片或模块的淘宝/阿里巴巴店铺会提供这份文档。
如何开始使用 T13?
使用 T13 非常简单,特别是如果你已经有 Arduino 开发经验。
开发环境
-
Arduino IDE (最简单)
- 这是最推荐初学者的方式。
- 安装 Arduino IDE 并配置好。
- 添加开发板支持:
文件->首选项- 在“附加开发板管理器网址”中填入:
http://arduino.esp8266.com/stable/package_esp8266com_index.json(这个是ESP8266的,如果只是用T13,可以不加,或者直接从“开发板管理器”里找) 工具->开发板->开发板管理器...- 搜索 "Arduino AVR Boards" 并安装。
- 选择正确的开发板和端口:
工具->开发板->Arduino Uno(因为 T13 完全兼容 UNO)工具->端口-> 选择你的 COM 端口。
- 上传程序: 直接点击“上传”按钮即可。
-
PlatformIO (更专业)
- 如果你使用 VS Code,PlatformIO 是一个强大的选择。
- 在 VS Code 中安装 PlatformIO IDE 插件。
- 创建新项目时,开发板选择
Arduino Uno或atmega328p,PlatformIO 会自动处理好所有工具链和库,你只需要写代码。
示例:点亮一个 LED (Blink)
这是所有嵌入式开发的 "Hello, World!"。
-
硬件连接:
- 将 T13 开发板(如 Arduino UNO 兼容板)通过 USB 连接到电脑。
- 板载的 L LED 已经连接到了 13 号引脚,你也可以自己连接一个 LED 到 13 号引脚(串联一个 220Ω 电阻到 GND)。
-
代码:
// 定义 LED 连接的引脚号 const int ledPin = 13; void setup() { // 初始化 ledPin 为输出模式 pinMode(ledPin, OUTPUT); } void loop() { // 点亮 LED (输出高电平) digitalWrite(ledPin, HIGH); delay(1000); // 延时 1000 毫秒 (1秒) // 熄灭 LED (输出低电平) digitalWrite(ledPin, LOW); delay(1000); // 延时 1000 毫秒 (1秒) } -
上传:
- 将上述代码复制到 Arduino IDE 中。
- 选择正确的开发板和端口。
- 点击“上传”按钮,上传成功后,板载的 L LED 就会开始闪烁。
- T13 是谁? 它是 ATmega328P 的一个功能完全兼容、引脚兼容、代码兼容的中国产替代型号。
- **说明书在哪
