Share via


Använda kringutrustning i ett program på hög nivå

Program på hög nivå kan mappa kringutrustning för exklusiv användning. Så här använder du en eller flera kringutrustningar i ett program på hög nivå:

  • Lägg till kringutrustningen i programmanifestet.
  • Lägg till en avbrottshanterare (om det behövs) och annan stödkod i programmet.
  • Lägg till kod för att säkerställa att varje kringutrustning är i ett känt bra tillstånd vid start.

Alla resurser som en högnivåapp använder måste anges i programmanifestet. I en app på hög nivå kan du antingen använda namnet på resursen som har tilldelats AppManifestValue i maskinvarudefinitions-JSON-filen för målchipet eller det högnivånamn som tilldelats resursen i maskinvarudefinitionshuvudfilen. Om du till exempel vill hitta värdet för att identifiera I2C på ISU0 på maskinvaran för MT3620 tittar du i mt3620.json-filen i mappen HardwareDefinitions som är installerad i mappen Microsoft Azure Sphere SDK. Den här kringutrustningen definieras så här i JSON-filen:

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

Observera att värdet som tilldelats AppManifestValue för I2C-kringutrustningen är "ISU0", medan det höga namnet är "MT3620_ISU0_I2C".

Samtidiga inlästa program kan inte dela resurser. resursanvändning är exklusivt för ett enda program. Azure Sphere-operativsystemet utför flera viktiga uppgifter när programmet läses in:

  • Konfigurerar multiplexing så att de stift som är kopplade till kringutrustningen konfigureras för de begärda funktionerna.
  • Konfigurerar kärnmappning, vilket innebär att du konfigurerar brandväggar så att programmet har åtkomst till de register som är kopplade till den begärda kringutrustningen.
  • Kontrollerar manifestet och läser inte in programmet om det kräver resurser som redan har begärts av en annan app.

Resten av det här avsnittet innehåller information om hur du använder specifik kringutrustning.

Observera

Azure Sphere OS återställer inte kringutrustning vid start. Dina program bör se till att kringutrustningen är i ett känt bra tillstånd vid start eller efter omstart.

En omstart av enheten utlöses när ett nytt program som använder kringutrustning installeras och följande villkor uppfylls:

Om en enhetsomstart initieras väntar du tills omstarten är klar och enheten svarar.

Ämne Beskrivning
Använda ADC i program på hög nivå Beskriver hur du använder analoga till digitala konverterare (ADC) med Azure Sphere.
Använda GPIO i program på hög nivå Beskriver hur du använder GPIO (General Purpose Input/Output) med Azure Sphere.
Använda I2C i program på hög nivå Beskriver hur du använder Inter-Integrated circuit (I2C) för seriell kommunikation.
Använda PWM i program på hög nivå Beskriver hur du använder pulsbreddsmodulation (PWM) med Azure Sphere.
Använda SPI i program på hög nivå Beskriver hur du använder SPI (Serial Peripheral Interface) för seriell kommunikation.
Använda UARTs i program på hög nivå Beskriver hur du använder UARTs för seriell kommunikation.
Använda övervakningstimers i program på hög nivå Beskriver hur du använder en övervakningstimer.