ATtiny 不能做什么,而 Arduino 可以?

电器工程 Arduino 服装
2022-01-05 12:48:41

Make Magazine youtube video的启发,我想在我的大部分项目中使用 ATtiny 芯片而不是 Arduino。视频作者警告说,某些 Arduino 功能不适用于 ATtinys。是否有支持和不支持的完整列表?

3个回答

更新:为了更好地回答这个问题,ATTiny 可以做任何不需要 ATTiny 缺少的硬件的事情,包括硬件串行端口、硬件 i2c 或多个中断。由于这隐藏在 Arduino 库中,除非您很好地了解它们的工作原理或阅读实际的库文件,否则 Wire 库(硬件 i2c)之类的东西将不起作用。

来自http://forum.arduino.cc/index.php/topic,5582.0.html

例如,ATTINY84 有 1 个中断、没有硬件 UART(串行或 i2c)和少量 GPIO 引脚、更少的程序空间和更少的 RAM,但采用 14 引脚封装。

ATMEGA328 有 2 个中断、1 个硬件 UART、更多内存、更多程序空间和更多 GPIO,如果你真的需要的话,这很棒。

此外,大多数 ATTiny 没有硬件乘法,因此编译器必须在软件中进行非 base-2 乘法。

最后,Arduinos 依赖于引导加载程序而不是 spi 编程,因此您需要一个具有至少 4~8kb 闪存的 ATtiny 才能使用 Arduino 引导加载程序。

ATtiny44/45/84/45/2313 作为微型 Arduino 很受欢迎。他们有大约四分之一或八分之一的 ATMega328 内存和闪存,这是 Arduino Uno 官方使用的。

有很多 ATTiny,所以没有一个单一的陈述可以说明它们。

另见此处:http ://hlt.media.mit.edu/?p=1695

大多数 attinys 没有硬件 USART 模块,因此您将无法通过串行与它们进行通信。对于某些替代专用 I2C 和 SPI 硬件外设的 attinys,有一个简化的 USI 外设,您必须为其编写一些胶水代码来实现 SPI 或 I2C 通信。有些服装没有ADC。

一般来说,在为您的项目选择服装时必须更加小心,因为这些服装往往没有 Arduino 的 atmega328 中可用的全套功能。例如 attiny2313 有 UART 但没有 ADC,attiny44 有 ADC 但没有 UART 等。

只需在开始时查看 Atmel 微控制器选择表和数据表。

除了已经发布的出色答案之外,这是一个微不足道的相关点:

大多数 Arduino 板,不包括 Pro Mini / Pro Micro 和可能很少见的其他板,除了主微控制器之外,还包含第二个 AVR 或其他一些 USB 接口部件。这不仅允许从计算机对 Arduino 进行编程,还允许运行时串行终端调试。同样的 USB 连接也为 Arduino 供电。

虽然显然 ATTiny 的电源要求已在您的设计中得到解决,但使用终端软件在运行时调试代码可能非常方便。