Вход
Наше всё
Теги
codebook
PARTS
Поиск
Опросы
Закон
Воскресенье
24 января
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
ARM
AVR
PIC
PLD, FPGA, DSP
Кибернетика
Технологии
Схемы, платы, компоненты
Микроконтроллеры
/1046552
Топик полностью
VLLV
(23.10.2020 17:42, просмотров: 106)
в ответ на
Можно не соглашаться?
- автор:
Tpoeшник
Нельзя, я тоже так делаю :) Но наверно так, как советует SciFi, получится чуть быстрее. Если только это имеет значение :)
Ответить
Ответы
Правильно ли я понимаю, что предлагается внутри прерывания детектить ноль в счетчике программного таймера и генерить евент в систему или некое прерывание?
-
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
)
я могу! но в моей реализации
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
)
Там может быть и больше и меньше. Идеально 0xffff-максимум в массиве.Это для того чтоб если программа залипла где то в ожидании - алгоритм переключил Светик.
-
Tpoeшник
(
24.10.2020 11:44
)
Попробовал откомпилировать : TMR_UKRAINE not defined
-
VLLV
(
24.10.2020 09:48
)
Так ниже по теме сама таймерная обёртка! Подразумевалось что вы читаете тему.
-
Tpoeшник
(
24.10.2020 10:57
)
Вероятно, такой код выдают белорусские айтишники, массово сбежавшие в Киев от притеснений батькиного режима.
-
SciFi
(
24.10.2020 09:59
)
Жулик :)
-
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
)
Не люблю усложнять. В этом проекте светодиоды/подсвет мерцают с фиксированными частотами 10 Гц и 1 Гц, совпадающими с частотами стандартных событий. Если нужно специальная частота, то это делается внутри системного прерывания.
VLLV
(472 знаков,
23.10.2020 18:34
)