Fast Pins - (быстрые пины). -- Оптимизация работы входов/выходов -- digitalRead, digitalWrite, analogRead, analogWrite

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

Fast Pins - (быстрые пины). -- Оптимизация работы входов/выходов -- digitalRead, digitalWrite, analogRead, analogWrite

Сообщение Dryundel »

Fast Pins
Блок актуален для AVR ATmega168 / 328 и ATtiny85 / 13 (UNO, NANO, MINI, PROMINI)
.
4.jpg
.
Актуальная версия:
Fast_Pins_(Быстрые_пины)_V1.2_(Code_-_Professional).ubi
Полностью переработана оптимизация analogWrite.
Доработано описание настроек.

История версий
Fast_Pins_(Быстрые_пины)_V1.1_(Code_-_Professional).ubi
Исправлен баг не полного отключения ШИМ при совместной оптимизации analogWrite и digitalWrite (Аналоговых и Цифровых выходов)
.

Возможности:
- Оптимизация Цифровых входов (digitalRead)
- Оптимизация Цифровых выходов (digitalWrite)
- Оптимизация Аналоговых входов (analogRead)
- Оптимизация Аналоговых(ШИМ) выходов (analogWrite)
- Выбор оптимизируемых позиций
[spoiler=Краткое описание блока]Блок Fast Pins ускоряет работу входов / выходов в стандартно созданном
проекте в десятки раз. Он заменяет все digitalRead, digitalWrite, analogRead, analogWrite
на быстрые аналоги. Эти команды создаются не только штатными блоками вход / выход,
но и многими другими блоками работающими в пинами. К примеру при работе штатного
блока "Матричная клавиатура" 4х4 - 24 таких команд в каждом цикле.

Блок Fast Pins почти не требует настроек. Его надо разместить
в любом месте проекта. Всю работу он сделает автоматически.
Достаточно только выбрать цели оптимизации

Блок актуален только для AVR ATmega168 / 328 и ATtiny85 / 13

Если в проекте использован другой коньроллер замена проигнорируется.
В этом случае блок мешать не будет, но и помогать тоже.[/spoiler]
Тестирование в #23 посте
.
История версий
Fast_Pins_(Быстрые_пины)_V1.0_(Code_-_Professional).ubi
.
fastDigitalRead__Write_(Code_-_Professional).ubi
.
Этот блок ускоряет работу чтения и записи портов в стандартно созданном
проекте в десятки раз. Он заменяет все digitalRead и digitalWrite на быстрые
аналоги. Эти команды создаются не толко блоками вход / выход, но и многими
другими блоками работающими с пинами. К примеру при работе только одного штатного
блока "Матричная клавиатура" 4х4 - выполняется 24 таких команды в каждом цикле программы.

Блок fastDigitalRead / Write не требует настроек. Его надо разместить
в любом месте проекта. Всю работу он сделает автоматически.


Блок актуален только для AVR ATmega168 / 328 и ATtiny85 / 13 (UNO, NANO, MINI, MINIPRO)

Если в проекте использован другой контроллер замена проигнорируется.
В этом случае блок мешать не будет, но и помогать тоже.
.
Альтернативные блоки от [ref=#ff8000]aidar_i[/ref]
Работа с портами ввода и вывода Ардуино через регистры.
.
Пропускаем несколько постов с личным мнением некоторых, сильно продвинутых, товарищей и сразу переходим к посту #12 , посту #19 и посту#20 с тестами!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Dryundel 15 апр 2023, 20:16, всего редактировалось 2 раза.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

Блоки от Айдара работают быстрее.
Вся эта скорость эфимерная.
для поиграться.
практически любой пб положит всю скорость работы пина по сравнению со скоростью цикла в несоизмеримое число крат.
скорость работы пина важна при прерываниях, любых.
иначе - просто понты. отыграть несколько мкс на цикле в пару сотен мкс - для этого буду использовать прямую работу с регистрами, код от айдара. чтобы по макс.
сугубо моё мнение. основанное на реалиях.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение ecoins »

Sancho писал(а): 16 июл 2022, 21:42 иначе - просто понты. отыграть несколько мкс на цикле в пару сотен мкс - для этого буду использовать прямую работу с регистрами, код от айдара. чтобы по макс.
сугубо моё мнение. основанное на реалиях.
Ну не совсем так, на контроллерах AVR очень быстро набегают задержки, когда несколько блоков вывода.
----
Блоки ecoins изначально работают на прямую с регистрами и на всех поддерживаемых архитектурах (AVR,ESP,STM,Raspberry Pi Pico, Seeeduino, SAMD21).
И соотвественно почти не "тормозят".
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

Sancho писал(а): 16 июл 2022, 21:42 Блоки от Айдара работают быстрее.
Вся эта скорость эфимерная.
для поиграться.
Это откуда такие заявления? Может для начала потестировать тот и другой вариант, после чего писать такие заявления ?
Sancho писал(а): 16 июл 2022, 21:42 практически любой пб положит всю скорость работы пина по сравнению со скоростью цикла в несоизмеримое число крат.
скорость работы пина важна при прерываниях
И чем же здесь помогут блоки от Айдара? Что за голословные заявления?
Sancho писал(а): 16 июл 2022, 21:42 иначе - просто понты. отыграть несколько мкс на цикле в пару сотен мкс - для этого буду использовать прямую работу с регистрами, код от айдара. чтобы по макс.
Есть штатный блок "Матричная клавиатура", там в каждом цикле куча обращений к портам. Для AVR-ки это уже серьезно. И как в этом случае помогут блоки от Айдара?
[ref=#ff8000]Sancho[/ref], нафига мозг то людям парить?
Возьми, попробуй, сравни, предложи альтернативу. Или извинись.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

Dryundel писал(а): 16 июл 2022, 21:52 Это откуда такие заявления? Может для начала потестировать тот и другой вариант, после чего писать такие заявления ?
Я посмотрел код.

Отправлено спустя 41 секунду:
Dryundel писал(а): 16 июл 2022, 21:52 Или извинись.
не буду. я знаю.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

ecoins писал(а): 16 июл 2022, 21:47 Блоки ecoins изначально работают на прямую с регистрами и на всех поддерживаемых архитектурах (AVR,ESP,STM,Raspberry Pi Pico, Seeeduino, SAMD21).
И соотвественно почти не "тормозят".
[ref]ecoins[/ref], выложите пожалуйста ссылку на вашу альтернативную версию работы с портами. Я размещу ее в первом посте, так же как и ссылку на блоки от Айдара. У пользователей должен быть выбор.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

Dryundel писал(а): 16 июл 2022, 21:52 Есть штатный блок "Матричная клавиатура", там в каждом цикле куча обращений к портам. Для AVR-ки это уже серьезно. И как в этом случае помогут блоки от Айдара?
есть пб. это случай один на тысячу. который Вам навеял Анатолий.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

Sancho писал(а): 16 июл 2022, 21:54 не буду. я знаю.
Ну знай. И ни в коем случае не рассказывай об этом другим. :D :D :D
Поражает меня ваша упертость, сэээр.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

Извинений не будет. Однозначно.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

Sancho писал(а): 16 июл 2022, 22:00 Извинений не будет. Однозначно.
Ладно, так прощаю. :D Только не уходи.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение ecoins »

Dryundel писал(а): 16 июл 2022, 21:55 ecoins, выложите пожалуйста ссылку на вашу альтернативную версию работы с портами. Я размещу ее в первом посте, так же как и ссылку на блоки от Айдара. У пользователей должен быть выбор.
Выбор есть и он простой - пользоваться блоками ecoins. Они во многом и получились компактными и быстрыми, потому, что интегрированы в единую ЭкоСистему, которая в том числе и адаптирует функции к разным архитектурам контроллеров.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

ИТАК ТЕСТ
.
Два проекта.

1. Генератор максимальной частоты на цифровом выходе с блоком от [ref=#ff8000]aidar_i[/ref].
1.jpg
Быстрые пины Айдар.flp
.
2. Генератор максимальной частоты на штатном цифровом выходе с блоком fastDigital Read / Write
2.jpg
TestfastDigitalReadWrite.flp
Заключения

Размер проекта
1. 1,8 MB
2. 218 kB

Размер скетча
1. 472 байт
2. 584 байт

Скорость (генерируемая частота) Самое главное!
1. 548385 Гц
2. 548385 Гц
Абсолютный паритет.

Без изменений, штатный блок выхода, генерирует 101943 Гц
И как бы то ни было странно размер скетча в данном случае оказался самым большим 746 байт (Удивило)
Видимо компилятор оптимизировал код при прямом обращении к портам.
3.jpg
Штатный блок выхода.flp
.
[ref=#ff8000]Sancho[/ref], но ты все равно можешь не извиняться. :D
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

ecoins писал(а): 16 июл 2022, 23:45 Выбор есть и он простой - пользоваться блоками ecoins. Они во многом и получились компактными и быстрыми, потому, что интегрированы в единую ЭкоСистему, которая в том числе и адаптирует функции к разным архитектурам контроллеров.
А вот это уже неприкрытая, голословная реклама. И можно сказать хамство в данной теме.
Я попросил ссылку на альтернативное предложение, а не бла-бла-бла.

Отправлено спустя 2 минуты 30 секунд:
[ref]ecoins[/ref], , забацайте ка тестик. Может сможете удивить своей ЭкоСистемой. :D
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

Dryundel писал(а): 16 июл 2022, 23:48 Генератор максимальной частоты на цифровом выходе
Для такого проекта я поставлю 531ла3.
Если не сложно, добавь в проект чтение двух аналоговых входов, датчика с real выходом, пид регулятор и любой из входов или выходов, пб или встроенные, - сравни время цикла.
Когда осознаёшь, приходит понимание - быстрые вещи нужны в прерываниях, иначе уже согласен на просто функционирование программы.

Отправлено спустя 3 минуты 26 секунд:
Просто я тоже когда-то был вдохновлен тестами с пинами/регистрами.
Но со временем, осознав масштаб, пользую по мере необходимости, а именно в прерываниях.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

Sancho писал(а): 17 июл 2022, 05:44 Если не сложно, добавь в проект...
Не надо выкручиваться.
Sancho писал(а): 17 июл 2022, 05:44 Блоки от Айдара работают быстрее.
За это ответь. :D
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение ecoins »

Dryundel писал(а): 16 июл 2022, 23:53 А вот это уже неприкрытая, голословная реклама. И можно сказать хамство в данной теме.
Я попросил ссылку на альтернативное предложение, а не бла-бла-бла.
Если Вы не желаете избегать моего общения в Ваших темах, прошу уклоняться от подобных не лицеприятных формулировок.
Тем более, что они не соответствуют фактическим обстоятельствам.
Dryundel писал(а): 16 июл 2022, 23:53 Отправлено спустя 2 минуты 30 секунд:
ecoins, , забацайте ка тестик. Может сможете удивить своей ЭкоСистемой.
Тесты я не бацаю, а делаю - обычно это сам по себе не простой труд.
Тесты в большом количестве размещены в ветках с блоками ecoins.
Sancho писал(а): 17 июл 2022, 05:44 Если не сложно, добавь в проект чтение двух аналоговых входов, датчика с real выходом, пид регулятор и любой из входов или выходов, пб или встроенные, - сравни время цикла.
Когда осознаёшь, приходит понимание - быстрые вещи нужны в прерываниях, иначе уже согласен на просто функционирование программы.
Все так.
analogRead() в AVR занимает время >130мкс, digitalWrite() >4 мкс.
Много времени занимает обмен по шине i2c.
Рассматривать быстродействие отдельных блоков с отрывом от реальных, даже простых проектов, не имеет практического смысла.
Проблемы быстродействия работы с пинами проявляются в функциях с прерываниями и в библиотеках для работы с шиной 1-Wire.
Обычно это касается двух функций - дискретное чтение и дискретная запись.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

[ref=#ff8000]Sancho[/ref], [ref]ecoins[/ref], вы что, решили вдвоём задавить конкретно меня интеллектом?
Разошлись тут о бесполезности того, что я делаю.
А где вы б... были когда Айдар вот эту тему поднимал? viewtopic.php?f=112&t=7641
Что вы там писали? Напомнить?
Sancho писал(а): 21 окт 2021, 09:18 Отлично!
Ждём выходы.
ecoins писал(а): 20 окт 2021, 19:46 Проблема ускорения работы с портами актуальна.
А между тем, блоки Айдара работают только с вновь созданными входами выходами и никак не влияют на уже имеющиеся digitalRead / digitalWrite в других блоках. Кроме того, данный алгоритм заменит все digitalRead / digitalWrite в функциях, в том числе и по прерыванию, если таковые имеются в других пользовательских блоках, используемых в проекте.
Ну а Вы можете и дальше трепать языком....
.
Чо за фигня то? Я вам что, на больную мозоль наступил? Что вы Айдара то не гнобили, в таком случае? Или там все по феншую?
Спелись тут, умники...
[spoiler=Офтоп]
Нет не нашла коса на камень,
Она попала в борозду.
Хотите что б я спорим с вами?
А не пошли бы вы в ....[/spoiler]
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

ПРОДОЛЖАЕМ ТЕСТИРОВАТЬ

Соединяем пины 9 и 10.
Берем сигнал с Pin 9, инвертируем и отправляем на Pin 10 и так в каждом цикле.
Замеряем частоту на этой спайке.

Результат.

1. Просто штатные блоки цифровых входа и выхода.
4.jpg
Штатные блоки вход_выхода.flp
.
Генерируемая частота - 53727 Гц



2. Штатные блоки цифровых входа и выхода + fastDigital Read / Write.
5.jpg
TestfastDigitalReadWrite-2.flp
.
Генерируемая частота - 837010 Гц

Разница более чем в 15 раз !
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2423
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 29 раз

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Dryundel »

ПЕРЕХОДИМ К ПРАКТИЧЕСКИМ ИСПЫТАНИЯМ

Берем штатный блок "Матричная клавиатура" (4х4) и с помощью дешифратора отправляем в UART номер нажатой кнопки.
Измеряем усредненное количество циклов программы с помощью блока из комплекта "ОТЛАДКА" и тоже отправляем в UART.

[spoiler=1. Штатный блок "Матричная клавиатура"]
6.jpg
[/spoiler]
Штатный блок Матричная клавиатура.flp
.
Результат - 7260 циклов в секунду.
.
Теперь просто кидаем в проект блок fastDigitalReadWrite и повторяем измерение.
[spoiler=Штатный блок Матричная клавиатура + fastDigitalReadWrite]
7.jpg
[/spoiler]
Штатный блок Матричная клавиатура + TestfastDigitalReadWrite.flp
.
Результат - 43900 циклов в секунду.
.
Вывод: В конкретном случае блок "Матричная клавиатура" тормозил программу более чем на 36600 циклов в секунду, а блок fastDigitalReadWrite исправил эту ситуацию. При этом не внес никаких изменений в алгоритм проекта.
.
Для тех кто пропустил, рекомендую тему - ВРЕМЯ ЦИКЛА или что убивает ваш проект.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

fastDigital Read / Write - Ускоритель работы портов (быстрые пины)

Сообщение Sancho »

[spoiler]
Dryundel писал(а): 16 июл 2022, 21:52
Sancho писал(а): 16 июл 2022, 21:42 Блоки от Айдара работают быстрее.
Вся эта скорость эфимерная.
для поиграться.
Это откуда такие заявления? Может для начала потестировать тот и другой вариант, после чего писать такие заявления ?
Sancho писал(а): 16 июл 2022, 21:42 практически любой пб положит всю скорость работы пина по сравнению со скоростью цикла в несоизмеримое число крат.
скорость работы пина важна при прерываниях
И чем же здесь помогут блоки от Айдара? Что за голословные заявления?
Sancho писал(а): 16 июл 2022, 21:42 иначе - просто понты. отыграть несколько мкс на цикле в пару сотен мкс - для этого буду использовать прямую работу с регистрами, код от айдара. чтобы по макс.
Есть штатный блок "Матричная клавиатура", там в каждом цикле куча обращений к портам. Для AVR-ки это уже серьезно. И как в этом случае помогут блоки от Айдара?
[ref=#ff8000]Sancho[/ref], нафига мозг то людям парить?
Возьми, попробуй, сравни, предложи альтернативу. Или извинись.
Dryundel писал(а): 16 июл 2022, 22:12
Sancho писал(а): 16 июл 2022, 22:00 Извинений не будет. Однозначно.
Ладно, так прощаю. :D Только не уходи.
[/spoiler]
Всё таки Извиняюсь.
Компилятор преобразует функции на этапе сборки в прямую работу с регистрами. Скорость одинакова.
Правда, как он это делает я не могу предположить, т.к.
Dryundel писал(а): 16 июл 2022, 23:48 Размер проекта
1. 1,8 MB
2. 218 kB

Размер скетча
1. 472 байт
2. 584 байт
не даёт прояснений.
Извиняюсь ещё раз. Был не прав.
Применений, остаюсь при своём, реально не много - выбор пина при использовании прерываний(типа фазорез), клавиатура и ещё несколько.
[spoiler]
Sancho писал(а): 16 июл 2022, 21:42 Вся эта скорость эфимерная.
для поиграться.
практически любой пб положит всю скорость работы пина по сравнению со скоростью цикла в несоизмеримое число крат.
скорость работы пина важна при прерываниях, любых.
иначе - просто понты. отыграть несколько мкс на цикле в пару сотен мкс - для этого буду использовать прямую работу с регистрами, код от айдара. чтобы по макс.
сугубо моё мнение. основанное на реалиях.
Sancho писал(а): 17 июл 2022, 05:44 Для такого проекта я поставлю 531ла3.
Если не сложно, добавь в проект чтение двух аналоговых входов, датчика с real выходом, пид регулятор и любой из входов или выходов, пб или встроенные, - сравни время цикла.
Когда осознаёшь, приходит понимание - быстрые вещи нужны в прерываниях, иначе уже согласен на просто функционирование программы.
[/spoiler]
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Другое»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя