Нубский вопрос: есть 4-разрядный 7-сегментный индикатор с общим катодом и

discovery, хочу отображать 4 разряда одновременно.

Понятно, что это можно сделать цикл, который гоняется по разрядам, но кажется, что это тупо. Как сделать это не тупо?
Таймеры?
Прерывания?

(Я не из имббеддеда, поэтому я понимаю, как работают таймеры и прерывания, но не понимаю, как ими пользоваться)

16 ответов

18 просмотров

ага, таймеры и их прерывания. Динамическая индикация называется. в чем сложность то?

одновременно не получится, только по разрядам

Eugene- Автор вопроса

"Одновременно" Вопрос именно в том, как организовать поразрядное отображение.

Eugene
"Одновременно" Вопрос именно в том, как организова...

заводишь таймер на 10 миллисекунд и в прерывании переключаешь общий провод на следующую цифру

Vitaly
заводишь таймер на 10 миллисекунд и в прерывании п...

не забыв выдержать паузу между выкл и вкл следующего

Eugene- Автор вопроса
Vitaly
заводишь таймер на 10 миллисекунд и в прерывании п...

Ок, как устроено такое прерывание понятно. А как передавать ему значения? Вот я заведу статическую переменную с разрядами, как мне её читать из прерывания и как писать в неё из другого кода? Сделать Atomic<T>?

Eugene- Автор вопроса
Vitaly
rtic возьми, там все нахаляву

Мне, если честно, интересно с примитивами синхронизации поиграться.) А то работа у меня принципиально однопоточная, и там таких приколов нет.

Eugene
Мне, если честно, интересно с примитивами синхрони...

ну если прерываний не будет вообще - то атомики, если будут - то мьютекс

Eugene- Автор вопроса
Vitaly
ну если прерываний не будет вообще - то атомики, е...

А что произойдёт с пребыванием, если оно обратится к мьютексу, а мьютекс залочен?

Eugene
А что произойдёт с пребыванием, если оно обратится...

оно не произойдет, мьютекс отключает прерывания, если не говорить про приоритеты

Eugene- Автор вопроса
Vitaly
оно не произойдет, мьютекс отключает прерывания, е...

Прикольно. Надо бы почитать подробнее про модель памяти армов...

Eugene- Автор вопроса
Alexander Bulychev
Лучше не всех))

А их много разных?))) Всм, кажется, что есть чипы с MMU и out-of-order, и у них одна модель памяти, и есть чипы с mpu, и у них другая модель памяти. Понятно, что разные ядра могут иметь особенности, но я не думаю, что они будут существенно отличаться (существенно - это как x86 и arm).

Похожие вопросы

Обсуждают сегодня

Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
В чем может быть причина такого поведения? Библиотека есть, версия совпадает, но не собирается. Скармливаешь в rebar.lock - работает (потом отваливается другая, и так, пока не...
Δημήτηρ
2
И подскажите ещё пожалуйста, чем можно автоформатнуть config?
Δημήτηρ
3
посыпаю голову пеплом =) https://docs.vapor.codes/advanced/files/?h=stream#files
Seryoga
10
Было открыто два проекта в Xcode. В одном делал билд, а в другом просто ковырялся. Проц разогрелся до 99 градусов, изображение на дисплее посыпалось и через 5 секунд комп выру...
Alexander Sherbakov
10
Всем привет. Понимаю, что вопрос, вероятно, будет крайне абстрактным, но все же. Что можно сделать с "Failed to fetch and copy dep", если это сторонняя зависимость сторонней б...
Δημήτηρ
3
Не читал, но осуждаю. Какая версия вапора? У нас при двойном запросе тоже падал, пока не обновили с патчем
Sergey
6
DataGrip не сканирует почему-то все таблицы, хотя раньше показывал их че за херня, сталкивались?
Magic
9
Карта сайта