Быстрые пины для 328_168 профильный блок
Добавлено: 13 сен 2026, 06:56
тест на 7,5,2
Профильный блок на общение с цифровыми пинами через регистры прямого доступа, минуя излюбленный метод FLProg — обертки кода.
+выходы через регистры
+входы через регистры
+групповой портовый антидребезг Даннегера
Много тут таких блоков для Arduino, но есть у профильника и плюсы по сравнению с другими — как по скорости, так и по памяти потребления.
Результаты сравнения:
В тесте задействованы всего лишь 6 цифровых пинов, и, как я уже говорил ранее, вы вынесли в чистый проект несколько пинов, а производительность вам уже машет рукой на прощание.
Ну и за десяток лет были просьбы перейти на регистры, но шли версии 6, 7, 8, 9, а там добавлялись только процессоры побыстрее...
Хотя проблема порой не в этом ...
С антидребезгом поначалу у меня тоже было не очень: всего раза в два быстрее, но за счёт групповухи получилось уйти за десяток раз.
Есть в девятой фишка на групповое назначение пинов, но там только этим и ограничились, хотя в рамках программы это сделать можно было куда проще и чище в коде, чем наша поблочная вариация.
Профильный блок на общение с цифровыми пинами через регистры прямого доступа, минуя излюбленный метод FLProg — обертки кода.
+выходы через регистры
+входы через регистры
+групповой портовый антидребезг Даннегера
Много тут таких блоков для Arduino, но есть у профильника и плюсы по сравнению с другими — как по скорости, так и по памяти потребления.
Результаты сравнения:
В тесте задействованы всего лишь 6 цифровых пинов, и, как я уже говорил ранее, вы вынесли в чистый проект несколько пинов, а производительность вам уже машет рукой на прощание.
Ну и за десяток лет были просьбы перейти на регистры, но шли версии 6, 7, 8, 9, а там добавлялись только процессоры побыстрее...
Хотя проблема порой не в этом ...
С антидребезгом поначалу у меня тоже было не очень: всего раза в два быстрее, но за счёт групповухи получилось уйти за десяток раз.
Есть в девятой фишка на групповое назначение пинов, но там только этим и ограничились, хотя в рамках программы это сделать можно было куда проще и чище в коде, чем наша поблочная вариация.