ATTinyCore 2.0 上手指南:在 ATtiny 微控制器上高效写 Arduino 代码
【免费下载链接】ATTinyCoreArduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8项目地址: https://gitcode.com/gh_mirrors/at/ATTinyCore
ATTinyCore 是面向经典 ATtiny 微控制器的 Arduino 核心库,一次覆盖 ATtiny1634、841、85 等多款芯片,提供 ISP、Optiboot 串口与 Micronucleus 三种烧录方式。如果你习惯用 Arduino 语法做嵌入式开发,又想把项目塞进小脚数的 tinyAVR,这个核心能帮你省下大量移植时间。
谁需要它:把 Arduino 代码跑在经典 tinyAVR 上
很多小体积、低成本项目并不需要大芯片,却希望沿用digitalWrite、analogRead、Serial这套熟悉的 API。ATTinyCore 正是为此设计的:它在保持 Arduino 接口一致的前提下,适配了 Atmel 后期一批"经典" tinyAVR,让你不必重写业务逻辑,只需按新芯片调整引脚即可换板。
典型适用场景包括:
- 用面包板或裸芯片快速验证传感器、LED、按键类小项目
- 从旧 ATtiny 代码或别的开发包迁移过来,想统一接口
- 需要双串口、差分 ADC 或 PWM 通道较多的控制类硬件
下图是 ATtiny85 通过面包板配合 Arduino UNO 做串口与供电的接线示例,能直观看到这类芯片如何接入已有 Arduino 生态:
支持哪些芯片与烧录方式
核心覆盖几乎每一款主流经典 tinyAVR,按系列大致如下:
| 系列 | 芯片 | 备注 |
|---|---|---|
| 双串口 | ATtiny1634、828、441/841 | 引脚多、通道丰富 |
| 差分 ADC | ATtiny261/461/861、87/167 | 适合测小电压差 |
| 入门常用 | ATtiny25/45/85、24/44/84 | 脚数少、成本低 |
| 其他 | ATtiny43、26、48/88、2313/4313 | 视具体功能选用 |
烧录方面支持三种入口:传统 ISP 线、Optiboot 串口 bootloader,以及 Micronucleus 的 VUSB 方式。2.0 中还新增了 ATtiny1634 与 861 对 Micronucleus 的支持。选芯片前建议对照官方引脚图,确认串口、SPI/I2C 与 PWM 落在你需要的引脚上:
2.0 版本对开发者的实际影响
相比旧版,2.0 的重构集中在"用起来更一致、写代码更直观",对使用者有几个可感知的变化:
analogRead()不再纠结编号:现在既能传数字引脚号,也能传An常量、ADC_CHANNEL常量(如ADC_TEMPERATURE、ADC_INTERNAL1V1),运行时生成的通道号可用ADC_CH()宏转换。以前"必须传模拟通道号"的别扭逻辑被取消。- 差分 ADC 正式可用:约一半受支持芯片带差分输入,现在可直接读取,部分型号还能选单端/双极性模式,适合精确测量小电压差。
- 参考电压命名统一:改用
analogReference(DEFAULT)这类命名。注意——旧代码若用裸数字(如analogReference(0))选参考,升级后可能失效,这是迁移中最常见的坑。 - 引脚常量整理:废弃旧的
PIN_xn,推荐用PIN_Pxn(端口字母+位号)。好处是换了引脚映射后,硬件接线不变、代码也不用改。 - 多套引脚映射并存:每个芯片有"推荐映射",部分还有 VUSB 板专用映射和历史遗留映射,命名与注释现在统一了。
迁移前要检查的三件事
升级或换包时,按下面清单过一遍可减少返工:
- 搜索代码里的
analogReference(数字)与裸数字通道,改成命名常量。 - 检查是否引用了已删除的
PIN_xn,替换为PIN_Pxn或标准PIN_An。 - 对照所选芯片的专属文档确认引脚、PWM 与 ADC 行为,再定板子。
另外,官方目前强烈推荐的 IDE 版本为 1.8.13,环境不一致时先对齐版本再排查问题。
下一步:如何开始
- 获取源码:
git clone https://gitcode.com/gh_mirrors/at/ATTinyCore - 按仓库内的安装说明把核心装入 Arduino IDE,选择目标芯片与烧录方式。
- 先跑通一个点灯 + 串口示例,确认
analogRead与引脚映射符合预期,再扩展功能。
适合人群提醒:如果你用的是 2016 年之后发布的新款 tinyAVR,它们属于另一个独立核心,不在 ATTinyCore 支持范围内;而做差分测量、双串口或低成本小体积项目的开发者,可以优先从 841、1634 与 x61 系列入手。
【免费下载链接】ATTinyCoreArduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8项目地址: https://gitcode.com/gh_mirrors/at/ATTinyCore
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考