Использование периферийных устройств в высокоуровневом приложении

Высокоуровневые приложения могут сопоставлять периферийные устройства для их монопольного использования. Чтобы использовать одно или несколько периферийных устройств в высокоуровневом приложении, выполните следующие действия:

  • Добавьте периферийное устройство в манифест приложения.
  • Добавьте в приложение обработчик прерываний (при необходимости) и другой вспомогательный код.
  • Добавьте код, чтобы убедиться, что каждое периферийное устройство будет находиться в известном хорошем состоянии при запуске.

Все ресурсы, используемые приложением высокого уровня, должны быть указаны в манифесте приложения. В высокоуровневом приложении можно использовать имя ресурса, назначенного AppManifestValue в JSON-файле определения оборудования для целевой микросхемы, или высокоуровневое имя, присвоенное ресурсу в файле заголовка определения оборудования. Например, чтобы найти значение для идентификации I2C в ISU0 на оборудовании MT3620, найдите файл mt3620.json в папке HardwareDefinitions, установленной в папке пакета SDK Microsoft Azure Sphere. Это периферийное устройство определяется в ФАЙЛЕ JSON следующим образом:

 {"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},

Обратите внимание, что appManifestValue для периферийного устройства I2C имеет значение ISU0, а имя высокого уровня — "MT3620_ISU0_I2C".

Одновременно загруженные приложения не могут совместно использовать ресурсы; Использование ресурсов является монопольным для одного приложения. При загрузке приложения ОС Azure Sphere выполняет несколько важных задач:

  • Настраивает мультиплексирование, чтобы контакты, связанные с периферийным устройством, были настроены для запрошенной функциональности.
  • Настраивает сопоставление ядер, которое включает в себя настройку брандмауэров, чтобы приложение получите доступ к регистрам, связанным с запрошенными периферийными устройствами.
  • Проверяет манифест и не загружает приложение, если оно запрашивает ресурсы, которые уже были запрошены другим приложением.

В оставшейся части этого раздела содержатся сведения об использовании определенных периферийных устройств.

Примечание

Ос Azure Sphere не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.

Перезагрузка устройства активируется при установке нового приложения, использующего периферийные устройства, при выполнении следующих условий:

Если инициирована перезагрузка устройства, подождите, пока перезагрузка не завершится, и устройство станет адаптивным.

Теме Описание
Использование ADC в высокоуровневых приложениях Описывается использование аналогово-цифровых преобразователей (АЦП) с Azure Sphere.
Использование GPIO в высокоуровневых приложениях Описывается, как использовать входные и выходные данные общего назначения (GPIO) с Azure Sphere.
Использование I2C в высокоуровневых приложениях Описывает использование Inter-Integrated канала (I2C) для последовательного взаимодействия.
Использование PWM в высокоуровневых приложениях Описывает, как использовать импульсную модуляцию ширины (ШИМ) с Azure Sphere.
Использование SPI в высокоуровневых приложениях Описывает использование последовательного периферийного интерфейса (SPI) для последовательного взаимодействия.
Использование UART в высокоуровневых приложениях Описывает использование UART для последовательного взаимодействия.
Использование таймеров сторожевой службы в высокоуровневых приложениях Описывает использование таймера сторожевой службы.