Показ дописів із міткою HAL. Показати всі дописи
Показ дописів із міткою HAL. Показати всі дописи

понеділок, 28 листопада 2016 р.

Далекомір HC-SR04 -- зовнішні переривання EXTI/HAL

Подивимося, що в порівнянні із використанням CMSIS, надає нам STM32CubeMX разом із HAL для організації обробки переривань від зовнішніх джерел, традиційно -- реалізувавши приклад із попереднього CMSIS-поста.

Периферія сконфігурована як і раніше:
  • Trig -- пін PA10,  вивід. Ми керуватимемо ним третім каналом таймера TIM1.
  • Echo -- PA6, генеруємо переривання.
"Малюємо" відповідну конфігурацію:

понеділок, 21 листопада 2016 р.

Далекомір HC-SR04 -- один таймер/HAL

Повторимо зроблене в попередньому пості, із використанням HAL/SMT32CubeMX. Такі, трішки нестандартні, режими роботи, HAL безпосередньо не підтримує, але і не заважає сильно -- все ж, абстракція, надана цією бібліотекою, зовсім тоненька.

Нагадаємо апаратну конфігурацію:
  • TRIG -- PA6 (TIM3_CH1)
  • ECHO -- PB0 (TIM3_CH3)
  • PC8 -- синій світлодіод
  • PC9 -- зелений світлодіод 
За потреби, Cube вміє автоматично робити ремапінг. Тут в ньому потреби немає:

вівторок, 15 листопада 2016 р.

Далекомір HC-SR04 -- два таймери/HAL

Традиційно, вирішимо задачу із попереднього посту, користуючись тим же підходом, з використанням HAL та SMT32CubeMX.

Апаратна конфігурація та ж:
  • TRIG -- PA10  (TIM1_CH3)
  • ECHO -- PA6 (TIM3_CH1, CH2 indirect)
  • Світлодіод, яскравість якого показує віддаль до перешкоди -- PA0 (TIM2_CH1)
  • Світлодіоди плати, як завжди, синій на піні PB8 і зелений на PB9
  • TIM1 генеруватиме імпульс заданої довжини ~ 10-15 мкс, в ролі TRIG, на PA10
  • TIM3 вимірюватиме тривалість імпульсу на лінії ECHO, PA6
  • TIM2 -- PWM (ШІМ) на PA0
 Візуально це виглядатиме так:
Клікабельно!

четвер, 20 жовтня 2016 р.

Зовсім просто про далекомір HC-SR04 із GPIO/HAL

Взято тут.
Пост: "Далекомір HC-SR04 -- використовуючи GPIO/HAL/STM32CubeMX" написано виходячи із того, що попередні тексти, зокрема: "Далекомір HC-SR04 -- використовуючи GPIO/CMSIS" читачу відомі, виклад зосереджено лише на нюансах роботи з Cube/CoIDE/HAL. 

Для деяких моїх задач це виявилося незручним. Тому вирішив написати даний текст, де розглянуто роботу із далекоміром, не відволікаючись на подробиці реалізації внутрішньої HAL. 

Подробиці генерації проекту та роботи із середовищем тут не описуватимемо, за ними див., посилання вище та "GPIO мікроконтролерів STM32F303 з використанням HAL". Нам достатньо знати, що один пін, в режимі GPIO-Output, виділено під Trig, один -- в режимі GPIO-Input, під Echo:
Звертаюся самі-знаєте-до-кого -- бездумно "перемальовувати" схему із скріншота -- погана ідея. Для запобігання, тут, за можливості, наводжу лише важливі фрагменти.
Підключаємо їх до відповідних пінів далекоміра.  Увага -- він нормально спрацьовує від логічної одинички 3.3В-мікроконтролера, але для свого живлення потребує 5 вольт!

Принципи роботи із даним пристроєм описані тут: "Далекомір HC-SR04 -- огляд", коротко нагадаємо їх: