-
- Можно не соглашаться? - Tpoeшник(23.10.2020 17:34)
- Нельзя, я тоже так делаю :) Но наверно так, как советует SciFi,
получится чуть быстрее. Если только это имеет значение :) - VLLV(23.10.2020 17:42)
- Правильно ли я понимаю, что предлагается внутри прерывания
детектить ноль в счетчике программного таймера и генерить евент в
систему или некое прерывание? - Tpoeшник(23.10.2020 17:48)
- Угу, вот такое УГ VLLV(3269 знак., 23.10.2020 17:50)
- А можно посмотреть пример управления светодиодом по схеме Tpoeшник(44 знак., 23.10.2020 18:18)
- Делаю такое на прототридах Дункелса и простых разностях (таймер -
сохраненное значение) Cкpипaч(496 знак., 23.10.2020 19:57, ссылка)
- у Дункельса есть и таймеры. Пользую их много лет с непременным
успехом. - LightElf(23.10.2020 20:19)
- Ткните, плз, пальцем, посмотрю. Cкpипaч(115 знак., 25.10.2020 11:01)
- оно не то чтобы абстракция, просто вынесенный в отдельный файл
кусок кода. Удобно использовать и в прототредах и в простом большом
цикле. LightElf(12 знак., 25.10.2020 12:53, ссылка)
- Спасибо. Cкpипaч(96 знак., 26.10.2020 08:54)
- Просто и со вкусом. Жаль, раньше не попалось на глаза. Меньше зоопарка было бы. - SciFi(25.10.2020 13:16)
- оно не то чтобы абстракция, просто вынесенный в отдельный файл
кусок кода. Удобно использовать и в прототредах и в простом большом
цикле. LightElf(12 знак., 25.10.2020 12:53, ссылка)
- Ткните, плз, пальцем, посмотрю. Cкpипaч(115 знак., 25.10.2020 11:01)
- у Дункельса есть и таймеры. Пользую их много лет с непременным
успехом. - LightElf(23.10.2020 20:19)
- я могу! но в моей реализации Aleksey_75(210 знак., 23.10.2020 18:38)
- вот где "сила": Tpoeшник(243 знак., 24.10.2020 00:49 - 11:06)
- Мне вот чего непонятно. Для arr_caxapa[0]= 10 мы получаем задержку
от 10 до 110? Зачем такая широкая граница? - teap0t(24.10.2020 11:15)
- Не понял. С первого прохода вскакивает в if и делаем тогл.
Следующий тогл через 10 мс - Tpoeшник(24.10.2020 11:25)
- Зачем такая широкая граница >100 ? - teap0t(24.10.2020 11:35)
- Не понял. С первого прохода вскакивает в if и делаем тогл.
Следующий тогл через 10 мс - Tpoeшник(24.10.2020 11:25)
- Попробовал откомпилировать : TMR_UKRAINE not defined - VLLV(24.10.2020 09:48)
- Так ниже по теме сама таймерная обёртка! Подразумевалось что вы читаете тему. - Tpoeшник(24.10.2020 10:57)
- Вероятно, такой код выдают белорусские айтишники, массово сбежавшие в Киев от притеснений батькиного режима. - SciFi(24.10.2020 09:59)
- Мне вот чего непонятно. Для arr_caxapa[0]= 10 мы получаем задержку
от 10 до 110? Зачем такая широкая граница? - teap0t(24.10.2020 11:15)
- Жулик :) - VLLV(23.10.2020 18:47)
- почему ? это не ось , это реализация которую описывал ниже )) - Aleksey_75(23.10.2020 18:51)
- Красиво, но к старости перестал любить такие прокладочки. Чем
меньше уровней, тем лучше. - VLLV(23.10.2020 19:27)
- это зависит от уровня абстракции. если прокладочка - это
виртуальная машина, то она чаще всего даёт значимый оверхед. если
это всего лишь функционал расширяющий возможности - то почему бы и
нет? чем больше нижележащие функции могут, тем меньше кода
приходится писать далее. при этом потери на таких "прокладках"
незначительны. - Mahagam(23.10.2020 21:08)
- Именно так! оверхеда там совсем не много, а вот сам механизм
отложенных функций очень выручает - Aleksey_75(23.10.2020 21:23)
- Какой именно механизм? А то с state-machine.com (quantum leaps)
первый вопрос -- а что будет, когда очередь переполнится. - fk0(23.10.2020 21:31)
- в моем варианте это 12 одновременно работающих таймеров, все что выше падает в фифо с пересчетом времени от счетчика который отработает первым, по отработке выдернется из фифо и переместится в пул. На самом деле по моим задачам фифо всегда пуст, максимум заполнение пула 10 счетчиками. Естественно это не серебряная пуля, но меня вполне устраивает и вопросов пока не было! Aleksey_75(140 знак., 23.10.2020 21:42)
- Какой именно механизм? А то с state-machine.com (quantum leaps)
первый вопрос -- а что будет, когда очередь переполнится. - fk0(23.10.2020 21:31)
- Именно так! оверхеда там совсем не много, а вот сам механизм
отложенных функций очень выручает - Aleksey_75(23.10.2020 21:23)
- это зависит от уровня абстракции. если прокладочка - это
виртуальная машина, то она чаще всего даёт значимый оверхед. если
это всего лишь функционал расширяющий возможности - то почему бы и
нет? чем больше нижележащие функции могут, тем меньше кода
приходится писать далее. при этом потери на таких "прокладках"
незначительны. - Mahagam(23.10.2020 21:08)
- Красиво, но к старости перестал любить такие прокладочки. Чем
меньше уровней, тем лучше. - VLLV(23.10.2020 19:27)
- почему ? это не ось , это реализация которую описывал ниже )) - Aleksey_75(23.10.2020 18:51)
- вот где "сила": Tpoeшник(243 знак., 24.10.2020 00:49 - 11:06)
- Не люблю усложнять. В этом проекте светодиоды/подсвет мерцают с фиксированными частотами 10 Гц и 1 Гц, совпадающими с частотами стандартных событий. Если нужно специальная частота, то это делается внутри системного прерывания. VLLV(472 знак., 23.10.2020 18:34)
- Делаю такое на прототридах Дункелса и простых разностях (таймер -
сохраненное значение) Cкpипaч(496 знак., 23.10.2020 19:57, ссылка)
- А можно посмотреть пример управления светодиодом по схеме Tpoeшник(44 знак., 23.10.2020 18:18)
- Угу, вот такое УГ VLLV(3269 знак., 23.10.2020 17:50)
- Правильно ли я понимаю, что предлагается внутри прерывания
детектить ноль в счетчике программного таймера и генерить евент в
систему или некое прерывание? - Tpoeшник(23.10.2020 17:48)
- Нельзя, я тоже так делаю :) Но наверно так, как советует SciFi,
получится чуть быстрее. Если только это имеет значение :) - VLLV(23.10.2020 17:42)
- Спасибо! Я сомневался, что это правильно: инкремент или декремент
(в зависимости от реализации) переменной каждого таймера, сравнение
с заданным интервалом, флаг выставить при достижении и все это в
прерывании, я ведь помню "в прерывании не рожать - сунул-вынул и
бежать". А тут десяток (если таймеров много) -- или ++. - Peter_M(23.10.2020 16:55)
- Про прерывания есть точный критерий, который можно выразить в цифрах. Если время выполнения обработчика прерывания таково, что не позволяет вовремя успеть обработать что-то в другом месте программы, то что-то явно неправильно. Всё остальное — размахивание руками, сводящееся в конце концов к этому же. - SciFi(23.10.2020 17:39)
- Можно не соглашаться? - Tpoeшник(23.10.2020 17:34)