Udostępnij za pośrednictwem


Używanie obiektów GPIO w aplikacjach z obsługą czasu rzeczywistego

Usługa Azure Sphere obsługuje obiekty GPIO (dane wejściowe/wyjściowe ogólnego przeznaczenia). GPIO to rodzaj programowalnej cyfrowej pinezki w obwodzie zintegrowanym. Obiekty GPIO nie mają wstępnie zdefiniowanych funkcji, a ich zachowanie może zostać dostosowane przez aplikację. Niektóre typowe zastosowania dla obiektów GPIO to zmiana stanu urządzeń sprzętowych, sterowanie diodami LED i odczytywanie stanu przełączników.

W tym temacie opisano, jak używać obiektów GPIO w aplikacji obsługowej w czasie rzeczywistym (RTApp). Aby uzyskać informacje na temat używania obiektów GPIO w aplikacjach wysokiego poziomu, zobacz Używanie obiektów GPIO w aplikacjach wysokiego poziomu.

Aplikacja RTApp może używać dowolnych obiektów GPIO na urządzeniu Azure Sphere. Następujące operacje są obsługiwane dla obiektu GPIO:

  • Odczytywanie danych wejściowych
  • Ustaw wysoką lub niską wartość wyjściową
  • Przerwania oprogramowania ankiet

Uwaga

System operacyjny Azure Sphere nie resetuje urządzeń peryferyjnych podczas uruchamiania. Twoje aplikacje powinny mieć pewność, że urządzenia peryferyjne będą w stanie dobrze znanym podczas uruchamiania i po ponownym uruchomieniu.

Obsługa obiektów GPIO w czasie rzeczywistym w mt3620

Na MT3620 większość obiektów GPIO jest mapowana na rdzenie w czasie rzeczywistym w blokach po cztery, począwszy od gpio 0; jednak bloki ISU 0 - 4 mają pięć GPIO. W rezultacie żądania GPIO aplikacji RTApp mogą zakończyć się niepowodzeniem, jeśli aplikacja wysokiego poziomu (lub inna aplikacja RTApp) zażąda obiektu ZASAD GRUPY w tym samym bloku. Jeśli na przykład aplikacja wysokiego poziomu zażąda obiektu GPIO 8, a aplikacja RTApp zażąda obiektu GPIO 9, druga aplikacja zwróci błąd podczas wdrażania.

Każda dioda LED na RDB MT3620 jest mapowana na trzy GPIO: po jednym dla kanałów czerwonego, zielonego i niebieskiego.

Aby uzyskać informacje na temat rejestrowania adresów podstawowych, numerów przerwań, częstotliwości zegara, częstotliwości próbkowania i innych szczegółów dotyczących MT3620, zobacz arkusz danych MT3620 i podręcznik użytkownika MT3620 M4. jeśli pytania pozostaną, możesz poprosić o szczegółowe informacje w avnet, wysyłając Azure.Sphere@avnet.comwiadomość e-mail .

Wymagania dotyczące obiektu GPIO

Kod aplikacji wymaga sposobu identyfikacji obiektu zasad grupy i jego rejestrów. Adres podstawowy rejestru można znaleźć w dokumentacji sprzętowej producenta. Zanim aplikacja RTApp będzie mogła użyć obiektu GPIO, musi zainicjować bloki, których będzie używać. Inicjowanie jest wymagane tylko raz dla każdego bloku używanego przez aplikację.

Aby uzyskać szczegółowe informacje na temat MT3620, zobacz Obsługa obiektów GPIO mt3620 w rdzeniach czasu rzeczywistego.

Ustawienia manifestu aplikacji

Aby użyć obiektu GPIO, aplikacja RTApp musi wyświetlić ją na liście w sekcji Możliwości manifestu aplikacji. Zidentyfikuj obiekt GPIO przy użyciu "AppManifestValue" zdefiniowanego dla niego w pliku JSON dla sprzętu docelowego. Na przykład w poniższym wierszu są rezerwy obiektów GPIO 8 i 12:

"Capabilities": {
 "Gpio": [ 8, 12 ]
}

Przykładowa aplikacja GPIO

W przykładzie obiektu GPIO pokazano, jak używać obiektów GPIO w aplikacji RTApp. Pliki README zawierają szczegółowe informacje i instrukcje.