Powrót

Klawiatura / myszka USB w STM32

W ZE 2/2024 opisałem jak obsłużyć klawiaturę/mysz USB pracującą w trybie PS/2 przez mikrokontroler. Teraz pokażę jak obsłużyć je przez HOST USB wbudowany w liczne STM32.

ZE jest pierwszym krajowym czasopismem poruszającym tę tematykę. Także w Internecie próżno szukać informacji na ten temat. Dlaczego tak jest? HOST USB nie jest łatwy do zaimplementowania od strony programowej, ale HAL od STM-a przejmuje na siebie skomplikowane zadania, dając do dyspozycji użytkownika proste funkcje. Dlaczego więc próżno szukać informacji o implementacji HOST-a? Pewnie dlatego, że najpopularniejsza platforma, czyli Arduino, oparta zwykle na AVR nie może obsłużyć urządzeń USB ponieważ AVR nie mają HOST-a. Tylko nieliczne AVR mają USB ale tylko DEVICE. Drugi powód to mity, że USB jest trudne. Prawda jest taka, że trudne jest wszystko czego się nie rozumie.

Co będzie potrzebne?

Do przeprowadzenia prób z HOST-em potrzebny jest mikrokontroler STM32 z HOST-em USB. Wygodne w użyciu są płytki DISCOVERY / NUCLEO z zamontowanymi gniazdami USB dla HOST-a. W przykładzie posłużyłem się NUCLEO-L496ZG, ale w materiałach dodatkowych znajduje się projekt dla KA-NUCLEO-F411CE. Korzystając ze wskazówek zawartych w artykule można zaimplementować obsługę klawiatury i myszy USB w każdym mikrokontrolerze STM32, który ma wbudowanego HOST-a.

Zestaw pokazowy

Do uruchomienia klawiatury / myszki potrzebna będzie przejściówka USB pokazana na fotografii 1.

Fotografia 1

Podłączmy ją do klawiatury lub myszki i płytki Nucleo, według fotografii 2.

Fotografia 2

(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w numerze lipcowym czasopisma Zrozumieć Elektronikę (ZE 7/2024). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 7/2024 znajduje się tutaj.

SaS, ZE
sas.ze@vp.pl

 

Uwaga! Wskazówki, jak nabyć archiwalne numery znajdują się na stronie: https://piotr-gorecki.pl/n11

Chodzi o ZE 7/2024.