Usare le periferiche in un'applicazione di alto livelloUse peripherals in a high-level application

Le applicazioni di alto livello possono eseguire il mapping delle periferiche per l'uso esclusivo.High-level applications can map peripherals for their exclusive use. Per usare una o più periferiche in un'applicazione di alto livello:To use one or more peripherals in a high-level application:

  • Aggiungere la periferica al manifesto dell'applicazione.Add the peripheral to the application manifest.
  • Aggiungere un gestore di interrupt (se richiesto) e altro codice di supporto all'applicazione.Add an interrupt handler (if required) and other supporting code to the application.
  • Aggiungere il codice per assicurarsi che ogni periferica si trovi in uno stato valido noto all'avvio.Add code to ensure that each peripheral will be in a known good state on start up.

Tutte le risorse utilizzate da un'app di alto livello devono essere specificate nel manifesto dell'applicazione.All resources that a high-level app uses must be specified in the application manifest. In un'app di alto livello è possibile usare il nome della risorsa assegnata a AppManifestValue nel file JSON di definizione hardware per il chip di destinazione o il nome di alto livello assegnato alla risorsa nel file di intestazione della definizione dell'hardware.In a high-level app, you can use either the name for the resource that is assigned to AppManifestValue in the hardware definition JSON file for the target chip or the high-level name assigned to the resource in the hardware definition header file. Per trovare, ad esempio, il valore per identificare I2C in ISU0 nell'hardware MT3620, cercare nel file mt3620.jsnel file nella cartella HardwareDefinitions installata nella cartella Microsoft Azure Sphere SDK.For example, to find the value to identify I2C on ISU0 on MT3620 hardware, look in the the mt3620.json file in the HardwareDefinitions folder that is installed in the Microsoft Azure Sphere SDK folder. Questa periferica viene definita come segue nel file JSON:This peripheral is defined as follows in the JSON file:

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

Si noti che il valore assegnato a AppManifestValue per la periferica I2C è "ISU0", mentre il nome di alto livello è "MT3620_ISU0_I2C".Note that the value assigned to AppManifestValue for the I2C peripheral is "ISU0", while the high-level name is "MT3620_ISU0_I2C".

Le applicazioni caricate simultaneamente non possono condividere le risorse. L'uso delle risorse è esclusivo per una singola applicazione.Concurrently loaded applications cannot share resources; resource use is exclusive to a single application. Il sistema operativo Azure Sphere esegue diverse attività importanti durante il caricamento dell'applicazione:The Azure Sphere OS performs several important tasks when it loads the application:

  • Configura il multiplexing, in modo da configurare i pin associati alle periferiche per la funzionalità richiesta.Configures multiplexing, so that the pins associated with the peripheral are configured for the requested functionality.
  • Configura il mapping dei core, che implica la configurazione di firewall in modo che l'applicazione abbia accesso ai registri associati alle periferiche richieste.Sets up core mapping, which involves configuring firewalls so that the application has access to the registers associated with the requested peripherals.
  • Verifica il manifesto e impedisce il caricamento dell'applicazione se questa richiede risorse che sono già state richieste da un'altra app.Checks the manifest and fails to load the application if it claims resources that have already been claimed by another app.

Nella parte restante di questa sezione vengono fornite informazioni dettagliate sull'uso di periferiche specifiche.The remainder of this section provides details about using specific peripherals.

Nota

Il sistema operativo Azure Sphere non reimposta le periferiche all'avvio.The Azure Sphere OS does not reset peripherals on start up. Le applicazioni devono assicurarsi che le periferiche si trovino in uno stato valido all'avvio o dopo il riavvio.Your applications should ensure that peripherals are in a known-good state on start up or after restart.

ArgomentoTopic DescrizioneDescription
Usare gli ADC nelle applicazioni di alto livelloUse ADCs in high-level applications Descrive come usare convertitori da analogico a digitale (ADC, Analog-to-Digital Converter) con Azure Sphere.Describes how to use analog-to-digital converters (ADCs) with Azure Sphere.
Usare GPIO nelle applicazioni di alto livelloUse GPIO in high-level applications Descrive come usare l'interfaccia GPIO (General Purpose Input/output) con Azure Sphere.Describes how to use general purpose input/output (GPIO) with Azure Sphere.
Usare I2C nelle applicazioni di alto livelloUse I2C in high-level applications Viene descritto come utilizzare il circuito di Inter-Integrated (I2C) per la comunicazione seriale.Describes how to use Inter-Integrated Circuit (I2C) for serial communication.
Usare PWM nelle applicazioni di alto livelloUse PWM in high-level applications Viene descritto come usare il PWM (Pulse Width Modulation) con Azure Sphere.Describes how to use pulse width modulation (PWM) with Azure Sphere.
Usare SPI nelle applicazioni di alto livelloUse SPI in high-level applications Viene descritto come usare l'interfaccia della periferica seriale (SPI) per la comunicazione seriale.Describes how to use Serial Peripheral Interface (SPI) for serial communication.
Usare UART in applicazioni di alto livelloUse UARTs in high-level applications Descrive come usare i dispositivi UART per la comunicazione seriale.Describes how to use UARTs for serial communication.
Usare i timer watchdog nelle applicazioni di alto livelloUse watchdog timers in high-level applications Viene descritto come utilizzare un timer del watchdog.Describes how to use a watchdog timer.