Size: a a a

2021 March 15

R

Rinat in STM32
Игорь
Добрый день. Подскажите не могу сообразить, считываю показания энкодера, затем пересчитываю чтобы понять в какую сторону вращается, хочу на нем сделать  регулировку разных параметров. Поэтому думал делать через прерывание, но не могу понять как правильно организовать алгоритм
Добрый день.
У вас есть счётчик импульсов. Настройте прерывание на каждый импульс или же прерывание с определённым периодом.
источник

И

Игорь in STM32
Rinat
Добрый день.
У вас есть счётчик импульсов. Настройте прерывание на каждый импульс или же прерывание с определённым периодом.
Хорошо прерывание настроил, вопрос в счетчике, если его сделать в прерывании, то как это значение я могу вынести на экран. Т.е. не могу понять как правильно сделать видимость переменной, чтобы ее не затерло. Либо же считать количество прерываний если так можно, (Еще совсем зеленый в программировании)
источник

Г

Геннадий in STM32
Там у таймеров бывает режим специальный для энкодера. Какой контроллер?
источник

И

Игорь in STM32
Геннадий
Там у таймеров бывает режим специальный для энкодера. Какой контроллер?
stm32f411, я настроил, счетчик работает. Но мне больше не понятен сам алгоритм, как допустим выбираю настройку длительности задержки светодиода или регулировку яркости, но при этом чтобы остальная программа измерения температуры или часы продолжали работать
источник

IK

Igor Kr. in STM32
Игорь
stm32f411, я настроил, счетчик работает. Но мне больше не понятен сам алгоритм, как допустим выбираю настройку длительности задержки светодиода или регулировку яркости, но при этом чтобы остальная программа измерения температуры или часы продолжали работать
глобальная volatile переменная которая инкрементится или декрементится в прерывании в зависимости от направления счёта таймера (4й бит TIM_CR).
эту переменную и используем в главном цикле как значение яркости.
источник

И

Игорь in STM32
Igor Kr.
глобальная volatile переменная которая инкрементится или декрементится в прерывании в зависимости от направления счёта таймера (4й бит TIM_CR).
эту переменную и используем в главном цикле как значение яркости.
Хорошо, спасибо, стало понятнее
источник

VK

Valentin Kornienko in STM32
Igor Kr.
глобальная volatile переменная которая инкрементится или декрементится в прерывании в зависимости от направления счёта таймера (4й бит TIM_CR).
эту переменную и используем в главном цикле как значение яркости.
И попадаем в таком случае в неопределенное поведение.
источник

VK

Valentin Kornienko in STM32
Ибо волатайл не есть атомик.
источник

VK

Valentin Kornienko in STM32
источник

ed

evgen da in STM32
Есть у кого библиотека для работы с часами реального времени ds3234 для stm?
источник

П

Петр in STM32
evgen da
Есть у кого библиотека для работы с часами реального времени ds3234 для stm?
а вы уверены, что на вашем чипе нет на борту RTC?
источник

ed

evgen da in STM32
Петр
а вы уверены, что на вашем чипе нет на борту RTC?
Есть, но идея была в отдельной микрухе часов со своей батарейкой, что бы время не сбрасывалось
источник

П

Петр in STM32
evgen da
Есть, но идея была в отдельной микрухе часов со своей батарейкой, что бы время не сбрасывалось
а есть на камне ножки для батарейки как раз
источник

П

Петр in STM32
источник

ed

evgen da in STM32
Справедливо... Но точнось ds32 выше, меньше уход времени
источник

П

Петр in STM32
источник

П

Петр in STM32
источник

П

Петр in STM32
evgen da
Справедливо... Но точнось ds32 выше, меньше уход времени
не уверен..
источник

П

Петр in STM32
источник

П

Петр in STM32
Петр
не уверен..
если у вас внешний резонатор
источник