Как стать автором
Обновить
40
0
Алексей Столяренко @jaiprakash

Инженер

Отправить сообщение
Более того, резисторы идущие на базу имеют слишком маленький номинал, в итоге с МК идёт почти такой же ток, как и через светодиод, а общее потребление системы удваивается.
Если вы использовали Li-ion аккумулятор 3,7 В, то зачем повышать напряжение до 5 В?
Рабочая частота ATmega8 не превышала ведь 8 МГц. Только номиналы резисторов при светодиодах нужно уменьшить.
Автор не использует программный загрузчик.
Он стирает flash и заливает программу через SPI.
После стирания flash — всегда. Если вдруг не случился аппаратный сбой.
Мы говорим о памяти программ.
С дивана:
Я так понял, при покупке в китае занедорого платы с FT232 вероятность найти там поддельный сабж сильно стремится к 1.
Уже за гранью условий задачи, но 0 байт возможны!
habrahabr.ru/post/240517/ UPD3
Да, вчера в час ночи пришла эта же мысль)))
Не смог спать. Пришлось встать, проверить и дописать в статью.
Если записать последнюю прошивку 4 байта в область загрузчика, то это не повлияет на частоту — PC дойдёт до конца, переполнится, т. е. станет равен 0, снова дощёлкает до загрузчика и выполнит итерацию. Только «фаза» сместится, что мы даже не заметим.
Так в этом конкретном случае никто же не пишет в память программ.
Или я не понял о чём вы?
Помнить — хорошо, но не всегда получается )), тогда программатор начинает ругаться и память немедленно освежается )
Несомненно, например, AVRISP mkII поддерживает частоты программирования от 50 Гц, AVRDude тоже настраивается, говорят, что 16 кГц — не проблема.
Верно, запрограммировав фьюз CKDIV8, можно снизить тактовую частоту в 8 раз — до 16 кГц.
Нет, ошибся. Оставляем 2 команды.
В AVR команды имеют длину 2 или 4 байта, так что 1 байт не получится, зато можно 2.
Добавил в статью.
sbrs r, b
Пропустить команду, если рязряд регистра общего назначения установлен.
Если r.b = 1, то PC = PC + 2 (3), иначе PC = PC + 1
Код операции: 1111 111r rrrr 0bbb

Следовательно, sbrs r31, 7 это 0xFFF7.

Возможно, процессор воспринимает 0xFFFF как эту команду, при r31.7 = 0 он просто переходит дальше.
Я ждал этого комментария )
А, не понял сразу))
«Исполняться» будут все 4 KiB, просто AVR Studio выдаст: Размер CSEG = 4
Да, у нас в конкретном случае объём 4 KiB, взяв другой микроконтроллер с большей памятью программ мы увеличим период, однако остальные ноги порта B осциллируют с бо́льшими частотами, можем подпаяться к ним.
Есть такое ))) Искусство требует жертв ©.
Мигание таймером вполне допустимо по ТЗ, просто мне сразу показалось, что это будет занимать больше места.
А если у нас какая-никакая многозадачность, и таймер больше нигде не нужен — то предпочтительнее задействовать его, конечно!
12 ...
45

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность