在高级应用程序中使用外围设备
重要
这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。
高级应用程序可以映射外围设备供其独占使用。 若要在高级应用程序中使用一个或多个外围设备,请执行以下操作:
- 向应用程序清单添加外设。
- 向应用程序添加中断处理程序(如果需要)和其他支持代码。
- 添加代码以确保每个外围设备在启动时处于已知良好状态。
高级应用使用的所有资源都必须在应用程序清单中指定。 在高级应用中,可以在目标芯片的硬件定义 JSON 文件中将分配给 AppManifestValue 的资源的名称或分配给硬件定义头文件中资源的高级名称。 例如,若要查找在 MT3620 硬件上的 ISU0 上标识 I2C 的值,请查看安装在 Microsoft Azure Sphere SDK 文件夹中的 HardwareDefinitions 文件夹中的 mt3620.json 文件。 此外设在 JSON 文件中定义如下:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
请注意,分配给 I2C 外围设备的 AppManifestValue 的值为“ISU0”,而高级名称为“MT3620_ISU0_I2C”。
同时加载的应用程序无法共享资源;资源由单个应用程序独占使用。 Azure Sphere OS 在加载应用程序时执行多项重要任务:
- 配置多路复用,以便与外设相关的引脚针对所请求的功能进行配置。
- 设置“核心映射”,这涉及配置防火墙,以便应用程序可以访问与所请求的外设关联的寄存器。
- 检查清单,如果应用程序声明已经被另一个应用声明的资源,则无法加载该应用程序。
此部分的其余内容详述了如何使用特定外设。
注意
Azure Sphere OS 不会在启动时重置外围设备。 应用程序应确保在启动时或重启后外围设备处于已知良好状态。
安装使用外围设备的新应用程序并满足以下条件时,将触发设备重启:
- 设备的制造状态设置为 DeviceComplete。
- 设备上不存在 appDevelopment 功能。 有关详细信息,请参阅 外围配置锁定。
如果启动设备重启,请等待重启完成,设备响应迅速。
主题 | 说明 |
---|---|
在高级应用程序中使用 ADC | 介绍如何在 Azure Sphere 中使用模数转换器 (ADC)。 |
在高级应用程序中使用 GPIO | 介绍如何在 Azure Sphere 中使用常规用途输入/输出 (GPIO)。 |
在高级应用程序中使用 I2C | 介绍了如何使用集成电路总线 (I2C) 进行串行通信。 |
在高级应用程序中使用 PWM | 介绍了如何将脉冲宽度调制 (PWM) 与 Azure Sphere 一起使用。 |
在高级应用程序中使用 SPI | 介绍了如何使用串行外围接口 (SPI) 进行串行通信。 |
在高级应用程序中使用 UART | 介绍如何使用 UART 进行串行通信。 |
在高级应用程序中使用监视器计时器 | 介绍如何使用监视器计时器。 |