Digispark ATtiny 85 стирает флэш после отключения питания
У меня есть некоторые проблемы с моей платой Digispark ATtiny85. Например, если я загружаю скетч мигания, светодиод начинает мигать, и все выглядит нормально. Но как только я отсоединяю Digispark от USB-порта и подключаю его обратно, ничего не происходит. Я знаю, что программа запускается с задержкой в 5 секунд, поэтому программирование через USB становится возможным, но все равно ничего. Похоже, что флэш-память (где хранится программа) ATtiny 85 пуста.
Вот пример скетча мигания:
// процедура настройки запускается один раз, когда вы нажимаете reset:
void setup() {
// инициализируйте цифровой вывод в качестве выходного сигнала.
pinMode(0, OUTPUT); // СВЕТОДИОД на модели B
pinMode(1, OUTPUT); // Светодиод на модели A
}
// процедура цикла выполняется снова и снова вечно:
void loop() {
digitalWrite(0, HIGH); // включите светодиод (ВЫСОКИЙ - это уровень напряжения)
digitalWrite(1, HIGH);
delay(1000); // дождитесь второй
digitalWrite(0, LOW); // выключите светодиод, установив НИЗКОЕ напряжение
digitalWrite(1, LOW);
delay(1000); // подождите секунду
}
Я также попытался загрузить скетч с ноутбука, работающего под управлением Windows, но безуспешно.
Я использую Linux Mint и Arduino IDE 1.8.10.
Поскольку я новичок в микроконтроллерах, я был бы благодарен за пояснения, советы или полезные ссылки. Спасибо!
@leonardo, 👍2
Обсуждение1 ответ
У меня такая же проблема, только на двух платах. Вероятно, попытаются записать загрузчик с помощью usbasp, возможно, они сожгли неправильный загрузчик еще в Китае.
РЕДАКТИРОВАТЬ:
Как и ожидалось, прошивка загрузчика micronucleus с использованием USBasp решила проблему на обеих платах. Я использовал burn-o-mat, так как arduino не видел программатора.
Просто загрузите прошивку с github (я использовал это: https://github.com/f4goh/micronucleus/archive/master.zip )
и подключитесь вот так (здесь парень использует arduino uno, не имеет значения): https://hamprojects.wordpress.com/2018/12/27/digispark-microcontrollers-implementation /
- Связь последовательного порта Digispark
- Разблокировка Digispark ATTiny85 после прошивки на HID
- Проблема с программированием платы digispark ATtiny85 с помощью Arduino IDE
- Библиотеки I2C для ATTiny85?
- Digispark ATtiny 85 - не распознается как HID устройство
- Клавиатура Digispark ATtiny85
- Проблема с USB-накопителем DigiSpark
- Digispark Atinny85 не распознан (проблема с загрузчиком)
Как используется eeprom? Или вы путаете программную память (flash) с eeprom? Выбор программатора предназначен для прошивки кода (или загрузчика по следующему пункту меню) в него через интернет-соединение с помощью какого-либо программатора., @KIIV
Код сохраняется во флэш-памяти, а не в EEPROM. Скетч мигания не использует EEPROM. Итак, реальная проблема такова: у вас запущен blink sketch, но если вы отключите digispark и снова подключите его, blink sketch больше не будет запущен?, @chrisl
`Или причиной такого поведения может быть плавающий вывод сброса?" официальный digispark отключил вывод сброса, поэтому вы получаете дополнительный вывод GPIO. Так что это не может быть плавающий контакт сброса., @Gerben
Ладно, я перепутал flash с EEPROM. Спасибо, что указали на это, я изменю это в вопросе. @chrisl Да, это моя проблема, @leonardo
Я нашел это на форуме digistump: "Я получаю такое же поведение, за исключением Arduino 1.6.5-r5. 5 все платы демонстрируют одинаковое поведение. На них не написано "Digispark", просто "ATttiny" (85"https://digistump.com/board/index.php?topic=3161.0 ) Может ли эта проблема быть связана с arduino IDE?, @leonardo
У меня такая же проблема, только на двух платах. Вероятно, попытаются записать загрузчик с помощью usbasp, возможно, они сожгли неправильный загрузчик еще в Китае., @Lucas