What are fuses? How to work with fuse bits on AVR microcontrollers

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.ย. 2024

ความคิดเห็น • 42

  • @pindzak
    @pindzak 3 ปีที่แล้ว +2

    Спасибо, у вас, пожалуй, самое понятное объяснение фьюзов, что я нашёл для себя. И слушать приятно

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      Спасибо за отзыв!

  • @pupkin204
    @pupkin204 3 ปีที่แล้ว

    Очень будет интересно осмотреть ваш метод востановки заводских фьюз.

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      На следующих выходных планирую видео

  • @sergey-380
    @sergey-380 3 ปีที่แล้ว +2

    дякую

  • @radikmullayanov8507
    @radikmullayanov8507 5 หลายเดือนก่อน

    Не получилось считать фьюзы с помощью батника. К какому бы порту USB не подключался, всегда подключается com1.

  • @yl923
    @yl923 ปีที่แล้ว

    А про мега64 фьюз биты можно рассказать?

  • @GrandFRX
    @GrandFRX 6 หลายเดือนก่อน

    считываю. все ок
    перезаписываю на 0A FF
    avrdude: AVR device initialized and ready to accept instructions
    Reading | ################################################## | 100% 0.02s
    avrdude: Device signature = 0x1e9007 (probably t13)
    avrdude: safemode: Fuses OK (E:FF, H:FB, L:39)
    avrdude done. Thank you.
    на этом всё перезапись не удалась

  • @ivannovosyolov115
    @ivannovosyolov115 3 ปีที่แล้ว +1

    Расскажите об ESP32.

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      Будет о ESP32. Но в начале о ESP8266

  • @RomaRingo
    @RomaRingo 2 ปีที่แล้ว

    Для работы со скетчами, подойдут фузе биты по умолчанию на тини13 ? не хочу RST портить

    • @neoalternator
      @neoalternator  2 ปีที่แล้ว

      В большинстве случаев - да.

  • @АндрейЧемезов-ы6э
    @АндрейЧемезов-ы6э 3 ปีที่แล้ว

    Если светодиод при команде delay 1000 светит ровно одну секунду, значит реальная тактовая частота 1 МГц? И увеличить быстродействие программы можно только через фьюзы, правильно?

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว +1

      Delay всё же функция, которая учитывая частоту, для каждого мк имеет свой поправочный коэффициент. Т.е. для тини13 это может быть так, а для других мк не так. В комментариях к примеру blink_using_timer для тини13 показано как рассчитывается пауза в зависимости от частоты. Изменить тактовую частоту можно и в arduino ide в том же блоке, где плата выбирается. А через фьюзы можно убрать делитель тактовой частоты на 8 если он установлен.

    • @АндрейЧемезов-ы6э
      @АндрейЧемезов-ы6э 3 ปีที่แล้ว

      @@neoalternator Мне кажется, делитель на 8 устанавливают для того, чтобы повысить точность работы процессора в 8 раз, снизить погрешность отсчитывания времени. Но тактовую частоту выполнения команд делитель снижает в те же 8 раз. То есть процессор молотит с частотой 9, а команды выполняет с частотой 1,2, зато промежутки времени между командами в 8 раз точнее, чем без делителя.
      В Ардуино иде можно выбрать частоту, но нельзя отключить делитель, потому что это стандартная функция, улучшающая работу МК. Делитель можно отключить только через фьюзы, вы продемонстрировали как это сделать и показали результат, большое спасибо. Мне как раз в одном деле нужна максимальная частота считывания с датчика, а точность временных интервалов в этом деле не важна.

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว +1

      @@АндрейЧемезов-ы6э Вы все верно написали. Но если нужна большая частота, может быть рассмотреть кого-то из семейства STM32?

  • @trewerguli1727
    @trewerguli1727 3 ปีที่แล้ว

    Можете подсказать, digispark при подключении к пк, появляется и сразу пропадает в диспетчере устройств, буквально за секунду. Это нормально или нет?

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      Попробуйте отключить антивирусную программу, если есть. Возможно она блокирует, как вредоносное устройство. Второй вариант - плохой контакт с юсб портом компьютера. Светодиод на плате горит?

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      А еще порт должен быть обязательно usb 2.0

    • @trewerguli1727
      @trewerguli1727 3 ปีที่แล้ว

      @@neoalternator пробовал на двух ноутбуках, на одном точно одни 2-е порты. На обоих чистая вин 10. Спасибо.

  • @АрсенийМонахов-е8д
    @АрсенийМонахов-е8д 3 ปีที่แล้ว

    Таак, вобщем вначале лучше залить прошивку а потом менять фьюзы правильно понял?

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      После только spien и rstdisbl. Т.к. потом мк не прошить. Остальные можно менять и до загрузки и во время загрузки.

    • @АрсенийМонахов-е8д
      @АрсенийМонахов-е8д 3 ปีที่แล้ว

      @@neoalternator Спасибо за ответ! Мне как раз reset и нужно поменять

  • @Олександр-щ7т
    @Олександр-щ7т 3 ปีที่แล้ว

    Привет. Спасибо за ценную информацию в твоих видео. Пытаюсь оживить тиньки купленные на Али - не шьются через ISP.
    Пробую сначала считать фьюзы твоей утилитой, но при выборе "Read fuses" выскакивает ошибка avrdude.exe "Запуск программы невозможен, так как на компьютере отсутствует libusb0.dll. Попробуйте переустановить программу".
    Такое же сообщение вываливается, при попытке чтения лок-битов и стирания чипа, а также когда пытаюсь запустить avrdude.exe из папки с твоей утилитой. Версия IDE 1.8.12.
    Помоги если сможешь. Лежат три собранные устройства, думал ща залью прошивки через ISP и всё. Ан хрен там. И того имеем неделю головной боли, три запаянных кирпича и 7 в пакетике. Это 13-е.
    И ещё 5 шт. 25-тых. С ними тоже наверное такое же. Пробовал вместо одной тринадцатой подкинуть двадцать пятую, перепаял на плату, пробую прошивать то же самое.
    Может попробовать сразу прожечь их высоковольтным программатором, хотя, причем тут указанная мной ошибка. Фьюзы ведь должны читаться в любом случае, только разве что Reset заблокирован.
    Помоги, пожалуйста.

    • @Олександр-щ7т
      @Олександр-щ7т 3 ปีที่แล้ว

      Пробовал только что прожигать программатором - результата ноль. Монитор порта останавливается на операции "read fuses". Даже на тех 25-ых тиньках, которые ещё не трогал.
      Это капец какой-то.....

    • @Олександр-щ7т
      @Олександр-щ7т 3 ปีที่แล้ว

      Поставил версию 1.8.8 как у тебя в видео - результата НОЛЬ. При попытке чтения фьюзов 25-тых тинек которые ещё не были в использовании лезет та же ошибка про отсутствие libusb0.dll. В чем подвох?
      Где его взять, бл.... , если он даже при переустановке IDE не появляется?

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      Приветствую! Вообще это стандартная библиотека. Должа появляться при установке Arduino IDE. Вне зависимости от версии. У меня она там же, где и avrdude.exe в папке C:\Program Files (x86)\Arduino\hardware\tools\avr\bin Если ее там нет, вот загрузил ее на гугло-диск, можно скачать и туда закинуть drive.google.com/file/d/1P7aoNqOVfeeFZ7bzFABZKMFKYGJ8ApYY/view?usp=sharing

    • @neoalternator
      @neoalternator  3 ปีที่แล้ว

      @@Олександр-щ7т да, кстати, если библиотека эта всё же есть, просто avrdude ее не находит, т.к. она не там, где прописано в его конфигах, то можно наоборот, взять из папки C:\Program Files (x86)\Arduino\hardware\tools\avr\bin файл avrdude.exe и из соседней папки etc файл avrdude.conf и заменить ими аналогичные файлы в моей утилите. Т.е. только BAT-файл мой оставить. Может сработать.

    • @Олександр-щ7т
      @Олександр-щ7т 3 ปีที่แล้ว

      @@neoalternator Спасибо, что отозвался. У меня тоже она там есть, но почему не работает не пойму. Это ведь библиотека для usb портов, так?
      Пробовал копировать её с диска С в папку с твоей утилитой - ошибка пропала, но заработало не так как у тебя в видео. Всё что получаю в результате, похоже на то, что выдаёт IDE внизу по окончании безуспешной загрузки. Что заметил:
      -using programmer: avrisp. Почему?
      - и в конце концов печальное 0x000000..... и так далее.
      Папки с утилитами есть разница куда ложить: на С или на D?

  • @ИванКрасноярский-е3я
    @ИванКрасноярский-е3я 8 หลายเดือนก่อน

    Эй ти тайни или просто аттини тогда уж