Inspiriert von diesem Youtube-Video von Make Magazine möchte ich für die meisten meiner Projekte die ATtiny-Chips anstelle des Arduino verwenden. Der Videoautor warnt, dass einige Arduino-Funktionen auf den ATtinys nicht funktionieren. Gibt es eine vollständige Liste dessen, was unterstützt wird und was nicht?
12
pinMode();
unddigitalWrite();
auf einem ATtiny, genau richtig , um die entsprechenden RegisterDDRx
,PORTx
direkt. Viele ähnliche Funktionen können gefunden werden.Antworten:
Update: Um die Frage besser beantworten zu können, kann ATTiny's alles tun, was keine Hardware benötigt. Dazu gehören der serielle Hardwareanschluss, Hardware i2c oder mehrere Interrupts. Da dies in den Arduino-Bibliotheken verborgen ist, funktionieren Dinge wie die Wire-Bibliothek (Hardware i2c) nicht, es sei denn, Sie wissen genau, wie sie funktionieren oder wie die eigentlichen Bibliotheksdateien gelesen werden.
Von http://forum.arduino.cc/index.php/topic,5582.0.html :
Darüber hinaus haben die meisten ATTinys keine Hardware-Multiplikation, sodass ein Compiler in der Software Multiplikationen durchführen müsste, die nicht zur Basis 2 gehören.
Schließlich verlassen sich Arduinos auf einen Bootloader anstelle von SPI-Programmierung, sodass Sie einen ATTiny mit mindestens 4 bis 8 KB Flash benötigen, damit sie mit dem Arduino-Bootloader arbeiten können.
ATTiny44 / 45/84/45/2313 sind als Mikro-Arduinos beliebt. Sie haben etwa ein Viertel oder ein Achtel des RAMs und des Flashs eines ATMega328, den der offizielle Arduino Uno verwendet.
Es gibt viele ATTiny's, daher kann keine einzige Aussage über sie alle gemacht werden.
Siehe auch hier: http://hlt.media.mit.edu/?p=1695
quelle
Die meisten Geräte verfügen nicht über ein Hardware-USART-Modul, sodass Sie nicht über eine serielle Schnittstelle mit ihnen kommunizieren können. Für einige Geräte gibt es anstelle von dedizierten I2C- und SPI-Hardware-Peripheriegeräten ein vereinfachtes USI-Peripheriegerät, für das Sie ein wenig Klebercode schreiben müssen, um die SPI- oder I2C-Kommunikation zu implementieren. Einige Attinys haben kein ADC.
Im Allgemeinen müssen Sie bei der Auswahl von Einstellungen für Ihr Projekt vorsichtiger vorgehen, da in Arduinos atmega328 in der Regel nicht alle Funktionen zur Verfügung stehen. Zum Beispiel hat attiny2313 einen UART, aber keinen ADC, attiny44 hat einen ADC, aber keinen UART usw.
Überprüfen Sie einfach die Atmel-Mikrocontroller-Auswahltabelle und ein Datenblatt am Anfang.
quelle
Ein trivialer, wenn relevanter Punkt, der über die bereits geposteten hervorragenden Antworten hinausgeht:
Die meisten Arduino-Boards, außer dem Pro Mini / Pro Micro und vielleicht seltenen anderen, enthalten neben dem Haupt-Mikrocontroller entweder einen zweiten AVR oder einen anderen USB-Schnittstellenteil. Dies ermöglicht nicht nur das Programmieren des Arduino von einem Computer aus, sondern auch das Debuggen von seriellen Terminals zur Laufzeit. Über dieselbe USB-Verbindung wird auch der Arduino mit Strom versorgt.
Während offensichtlich die Leistungsanforderung des ATTiny in Ihrem Design berücksichtigt wurde, kann das Debuggen von Code zur Laufzeit mithilfe von Terminalsoftware sehr praktisch sein.
quelle