Korzystanie z urządzeń peryferyjnych w aplikacji wysokiego poziomu
Aplikacje wysokiego poziomu mogą mapować urządzenia peryferyjne do ich wyłącznego użytku. Aby użyć jednego lub większej liczby urządzeń peryferyjnych w aplikacji wysokiego poziomu:
- Dodaj urządzenie peryferyjne do manifestu aplikacji.
- Dodaj do aplikacji program obsługi przerwań (jeśli jest to wymagane) i inny kod pomocniczy.
- Dodaj kod, aby upewnić się, że po uruchomieniu każde urządzenie peryferyjne będzie w dobrym stanie.
Wszystkie zasoby używane przez aplikację wysokiego poziomu muszą być określone w manifeście aplikacji. W aplikacji wysokiego poziomu możesz użyć nazwy zasobu przydzielonego do appManifestValue w pliku JSON definicji sprzętu dla układu docelowego lub nazwy wysokiego poziomu przypisanej do zasobu w pliku nagłówka definicji sprzętu. Aby na przykład znaleźć wartość identyfikującą I2C na isu0 na sprzęcie MT3620, poszukaj w pliku mt3620.json w folderze HardwareDefinitions zainstalowanym w folderze Microsoft Azure Sphere SDK. To urządzenie peryferyjne jest zdefiniowane w pliku JSON w następujący sposób:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
Zwróć uwagę, że wartość przypisana do AppManifestValue dla urządzenia peryferyjnego I2C to "ISU0", podczas gdy nazwa wysokiego poziomu to "MT3620_ISU0_I2C".
Równoczesnie załadowane aplikacje nie mogą udostępniać zasobów; użycie zasobów dotyczy wyłącznie jednej aplikacji. System operacyjny Azure Sphere wykonuje kilka ważnych zadań podczas ładowania aplikacji:
- Konfiguruje multipleksowanie, tak aby pinezki skojarzone z urządzeniem peryferyjnym były skonfigurowane pod kątem żądanej funkcji.
- Konfiguruje mapowanie podstawowe, które obejmuje skonfigurowanie zapór w celu umożliwienia aplikacji dostępu do rejestrów skojarzonych z żądanymi urządzeniami peryferyjnymi.
- Sprawdza manifest i nie ładuje aplikacji, jeśli twierdzi, że zasoby, które zostały już zgłoszone przez inną aplikację.
Pozostała część tej sekcji zawiera szczegółowe informacje na temat używania określonych urządzeń peryferyjnych.
Uwaga
System operacyjny Azure Sphere nie resetuje urządzeń peryferyjnych podczas uruchamiania. Twoje aplikacje powinny mieć pewność, że urządzenia peryferyjne są w stanie dobrze znanym podczas uruchamiania lub po ponownym uruchomieniu.
Ponowne uruchomienie urządzenia jest wyzwalane po zainstalowaniu nowej aplikacji korzystającej z urządzeń peryferyjnych i spełnieniu następujących warunków:
- Stan produkcji urządzenia jest ustawiony na DeviceComplete.
- Funkcja appDevelopment nie jest dostępna na urządzeniu. Aby uzyskać więcej informacji, zobacz Blokowanie konfiguracji urządzeń peryferyjnych.
Jeśli zostanie zainicjowane ponowne uruchomienie urządzenia, poczekaj na ukończenie ponownego uruchomienia, a urządzenie reaguje.
Temat | Opis |
---|---|
Używanie adcs w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać konwerterów analogowo-cyfrowych (ADCs) z usługą Azure Sphere. |
Używanie obiektu GPIO w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać danych wejściowych/wyjściowych ogólnego przeznaczenia (GPIO) z usługą Azure Sphere. |
Używanie I2C w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać Inter-Integrated Circuit (I2C) do komunikacji szeregowej. |
Korzystanie z aplikacji PWM w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać modulacji szerokości impulsów (PWM) w usłudze Azure Sphere. |
Używanie funkcji SPI w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać szeregowego interfejsu peryferyjnego (SPI) do komunikacji szeregowej. |
Używanie funkcji UARTs w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać funkcji UARTs do komunikacji seryjnej. |
Używanie czasomierzy strażników w aplikacjach wysokiego poziomu | W tym artykule opisano, jak używać czasomierza strażnika. |