stm32f4 LCD+TIMER

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Есть один маленький вопрос.У меня есть библиотека lcd 20x04.как сделать что бы таймер использовать для задержек.И возможно ли это.И как это лучше реализовать.И можно ли переделать данную библиотеку чтобы таймер использовать в задержках?
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

Можно
IVL ex UA6PJ
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

А я против.
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

Ну тогда, НЕЛЬЗЯ.
IVL ex UA6PJ
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 41
Зарегистрирован: Чт ноя 04, 2021 19:53:46

Сообщение ravr »

пример работы на таймере, правда под двустрочный индикатор. при желании несложно переделать на 20x4. функция send_screen работает в основном цикле а command_queue по таймеру или в прерывании таймера. задержки используются только при инициализации.
Вложения
lsd.zip
(1 КБ) 112 скачиваний
Реклама
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Чем же отличается от системного таймера.А как же сделать с прерыванием таймер работал?
Реклама
Открыл глаза
Сообщения: 41
Зарегистрирован: Чт ноя 04, 2021 19:53:46

Сообщение ravr »

вкючить в проект соответсвующий startup в котором перечислены прерывания, разрешить тактирование таймера, разрешить прерывание в контрольном регистре самого таймера, разрешить прерывание в NVIC (NVIC_EnableIRQ(xxx)) если требуется (системному таймеру не требуется), разрешить прерывания в целом, написать обработчик прерывания.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

И ВСЁ?
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

За чем тебе прерывание?
Запускаешь любой не нужный таймер, PSC выбираешь так, что бы CNT отсчитывал тебе, что тебе надо ms или us, обнуляешь CNT и ждешь пока CNT не насчитает нужное количество.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Все примеры на таймерах.Любых.Заканчиваются пустым циклом.А это тормоз в программе.Или не так?Может я не так всё понимаю.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Основной тормоз программы - это программист.

Если не нравится тормоз делай на конечных автоматах или Rtos.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4124210#p4124210"]Основной тормоз программы - это программист.

Если не нравится тормоз делай на конечных автоматах или Rtos.[/uquote]
Что такое конечные автоматы.А RTOS можно по подробнее.

Добавлено after 40 seconds:
Я же не программист.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

ivan dimir писал(а):Я же не программист.
Я то же не программист.
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Сообщение ivan dimir »

Но наверное больше знаете и умеете.
Ответить

Вернуться в «ARM»