Вдохновленный этим видео на YouTube «Сделай журнал» , я бы хотел использовать чипы ATtiny вместо Arduino для большинства моих проектов. Автор видео предупреждает, что некоторые функции Arduino не будут работать на ATtinys. Есть ли полный список того, что есть и не поддерживается?
12
pinMode();
иdigitalWrite();
на ATtiny, просто прямо к соответствующим регистрамDDRx
,PORTx
напрямую. Много похожих функций можно найти.Ответы:
Обновление: чтобы лучше ответить на вопрос, ATTiny может делать все, что не требует аппаратного обеспечения, которого нет у ATTiny, включая аппаратный последовательный порт, аппаратное обеспечение i2c или несколько прерываний. Поскольку это скрыто в библиотеках Arduino, если у вас нет хорошего понимания того, как они работают, или не читаете фактические файлы библиотеки, такие вещи, как библиотека Wire (аппаратная часть i2c) не будут работать.
С http://forum.arduino.cc/index.php/topic,5582.0.html :
Кроме того, большинство ATTiny не имеют аппаратного умножения, поэтому компилятор должен был бы выполнять умножение не-base-2 в программном обеспечении.
Наконец, Arduinos полагается на загрузчик, а не на spi-программирование, поэтому для работы с загрузчиком Arduino вам потребуется ATTiny с флэш-памятью не менее 4 ~ 8 КБ.
ATTiny44 / 45/84/45/2313 популярны как микроардуино. У них есть приблизительно четвертая или восьмая часть оперативной памяти и вспышки ATMega328, которую использует официальный Arduino Uno.
Есть много ATTiny, поэтому ни одно утверждение не может быть сказано о них всех.
Также смотрите здесь: http://hlt.media.mit.edu/?p=1695
источник
Большинство attinys не имеют аппаратного модуля USART, поэтому вы не сможете общаться с ними через последовательный порт. Для некоторых attinys вместо выделенных аппаратных периферийных устройств I2C и SPI существует упрощенное периферийное устройство USI, для которого вам нужно написать немного связующего кода для реализации связи SPI или I2C. Некоторые attinys не имеют АЦП.
В общем, вы должны быть более осторожны при выборе attiny для вашего проекта, потому что те, как правило, не имеют полного набора функций, доступных в Arduino atmega328. Например, у attiny2313 есть UART, но нет АЦП, в attiny44 есть АЦП, но нет UART и т. Д.
Просто проверьте таблицу выбора микроконтроллера Atmel и таблицу данных в начале.
источник
Тривиальный, если уместный вопрос, помимо превосходных ответов, уже опубликованных:
Большинство плат Arduino, не считая Pro Mini / Pro Micro и, возможно, редких других, содержат помимо основного микроконтроллера либо второй AVR, либо какую-то другую часть интерфейса USB. Это позволяет не только программировать Arduino с компьютера, но и отлаживать последовательный терминал во время выполнения. Это же USB-соединение также обеспечивает питание Arduino.
Хотя очевидно, что требования ATTiny к электропитанию будут учтены в вашем проекте, отладка кода во время выполнения с использованием терминального программного обеспечения может оказаться весьма полезной.
источник