Сравнение скорости с этими делалось?
Да я не спорю, просто из любопытства спросил )
И для выхода тоже! Читал в АиФ, что можно обойтись без неё.
Sancho, вот правда, не фига не понял. Можно пояснения? И при чем здесь антидребезг?Sancho писал(а): ↑20.10.2021{, 15:51}Какого бы размера не был проект, сколько плат, с данной конфигурацией при отключении антидребезга входы всё-равно читаются только в начале цикла, т.е. в плату с выходом по условию входа не вставишь.
Всё равно, при отключении антидребезга, создаётся переменная для него.
Код: Выделить всё
void setup()
{
DDRC &= ~(1<<PC1);
PORTC |=(1<<PC1) ;
pinMode(13, OUTPUT);
digitalWrite(13, 0);
}
void loop()
{
//Плата:1
digitalWrite(13, !((PINC & 1<<PC1)));
}
Проблема ускорения работы с портами актуальна.aidar_i писал(а): ↑20.10.2021{, 13:17}Периферия микроконтроллера настроена так, что работает очень медленно.
Пример: digitalWrite() и digitalRead() выполняются около 3.5 мкс, когда прямая работа с портом микроконтроллера занимает 0.5 мкс, что почти на порядок быстрее.
Чтобы общаться с внешним миром у микроконтроллера есть порты ввода-вывода, в каждом из которых есть несколько отдельных битов ( выводов), на которых можно установить ноль (0) или единицу (1).
У ATmega328 таких портов 3 это порты B,C и D. На каждом порту по 8 битов(за исключением порта C он 7 - разрядный) которыми можно (нужно) управлять. Но управлять с некоторыми ограничениями.
Конечно микросекунды....
Обновил блок: удалил антидребезг, переменные все.Sancho писал(а): ↑20.10.2021{, 15:51}aidar_i, Всегда с уважением отношусь к Вашим работам,но в данном случае вопросы.
Новый редактор не пробовал, не знаю.
Какого бы размера не был проект, сколько плат, с данной конфигурацией при отключении антидребезга входы всё-равно читаются только в начале цикла, т.е. в плату с выходом по условию входа не вставишь.
Всё равно, при отключении антидребезга, создаётся переменная для него.
Надеюсь, что Вы поняли ход моих мыслей.
Отправлено спустя 26 минут 6 секунд:И для выхода тоже! Читал в АиФ, что можно обойтись без неё.
Это я разогнался Конечно к VCC. Если выбрать к GND, эта команда отключает подтяжки к +, это равносильно , тому что Нет.
Отлично!
Скачал, проверил, сравнил. Скорость одинаковая. Но у Айдара чуть экономнее в используемой памяти. Молодец!
Однозначно стоит!!!
Замечательно! Вот только зачем все это в данной теме?!