Здравствуйте!
Появилось несколько вопросов, которые не получается решить. Очень надеюсь на помощь тех, кто уже прошел этот путь.
Используя плату Ардуино, мне удалось загрузить прошивку в Attiny13. Простейший blink. Но есть недопонимание.
Первоначально avrdude ни в какую не хотела понимать, что Ардуинка -- просто программатор, ругаясь что я указываю Attiny13 вместо Atmega328. Победить это удалось только установкой резистора в 100 Ом на Reset и программно задав скорость порта в 19200. Вопросы:
-- в интернете Reset подключают по-разному. Кто-то через резистор, кто-то через конденсатор.
https://habr.com/ru/post/144620/http://freeduino.ru/arduino/isp.htmlКаков смысл сего шаманства?
И вообще, для чего это неоходимо? Для сброса контроллера? А в какой момент? Или наоборот, чтобы не было сброса?
-- почему avrdude понимает, что первый контроллер ведущий, а второй ведомый, только на определенной скорости и после подключения кнопки Reset, а иначе пытается записать код в первый крнтроллер?
-- любой код я могу записать с помощью этого программатора из Ардуино? У меня есть еще 2113 и Atmega8, смогу я прошить их Ардуинкой? Поменять fuse?(мне хотелось бы собрать на одной из них программатор) Какие подводные камни будут ожидать меня на этом пути?
И еще вопрос про устройство.
У меня есть простейшее устройство: ИК-приемник, получающий единственный сигнал от пульта ДУ, и включающий нагрузку на другом выводе Ардуино, через транзистор. Скетч использует библиотеку IRemote.h. И в итоге занимает 7,8Кбайт.Если, скажем, взять hex этого скетча из ArduinoIDE и записать в Atmega8, то он займет почти всю память.(а там еще и стек, который вверх растет и может быть случайно затерт) Боюсь, что такой подход очень плохой.
А как в таком случае перенести программу на другой контроллер с меньшим количеством памяти? По какому пути пойти?
В сети есть попытки переписать IRemote. Там, например, уменьшают количество пультов ДУ, с которыми работает библиотека. У меня же вообще только одна кнопка задействована. Написать бы просто обработчик для нее. Но как это сделать, я не знаю
(blink на Attiny13, например, занимает 80байт. В 100 раз меньше!) Если не сложно, подскажите, где подсмотреть, как делаются подобные обработчики.(для самых-самых начинающих)
P.S. Пожалуйста, не предлагайте купить программатор. У меня нет сейчас такой возможности (не финансовой). А попробовать и поразбираться время есть.
И да, я работаю только в Линукс. Windows не знаю вообще, и компьютера с ней у меня сейчас нет.