Приклад скінченного автомата, який визначає чи двійкове число має непарну кількість 0. (c) Wiki |
Захоплення
ШІМ, на яке ми покладаємося, потребує двох каналів, генерація TRIG --
ще одного. Отож, одного таймера для керування далекоміром має
вистачити.
Заради простоти я не став вішати на четвертий канал ШІМ для візуального відображення віддалі світлодіодом. Залишимо це на домашнє завдання. Видається, це можливо, хоч гарантії, не зробивши, не дам.
Користуватимемося
таймером TIM3, його CH1 i CH2 займатимуться захопленням ECHO, а CH3 --
TRIG. Тому, без використання ремапінгу, апаратна конфігурація така:
- TRIG -- PA6 (TIM3_CH1)
- ECHO -- PB0 (TIM3_CH3)
- PC8 -- синій світлодіод
- PC9 -- зелений світлодіод
Думаю, можна зробити краще, вважатимемо приклад нижче лише технологічною демонстрацією.