在支持实时的应用程序中使用 UART
Azure Sphere 设备上的 ISU UART 可供 RTApps 使用。 若要使用 ISU UART,RTApp 必须在应用程序清单的 “功能 ”部分中列出它。 使用目标芯片的 JSON 文件中为其定义的“AppManifestValue”标识 UART。 例如,以下行在 MT3620 芯片上的 ISU0 上保留 UART:
"Capabilities": {
"Uart": [ "ISU0" ]
}
应用程序代码需要一种方法来标识 UART、其寄存器基址及其中断号,并且必须包含 UART 的中断处理程序。 可以在制造商的硬件文档中找到 UART 的基址和中断号。
注意
Azure Sphere OS 在启动时不会重置外围设备。 应用程序应确保外围设备在启动时或重启后处于已知良好的状态。
对实时核心上的 UART 的 MT3620 支持
本部分介绍适用于 MT3620 硬件上的实时核心的 UART 选项。 有关 UART 的 MT3620 支持的一般信息,请参阅 MT3620 支持。
每个实时核心都有一个专用的 UART,该 UART 独立于 ISU UART,用于日志记录。 由于每个此类 UART 都专用于其核心上的应用程序,因此 RTApp 不需要在应用程序清单中列出它。 RTApps 分配给第一个可用的实时核心;目前无法选择应用程序使用的实时核心以及哪个专用 UART。 但是, az sphere device app start 命令的输出会报告已将哪个核心分配给应用程序。
有关 MT3620 的寄存器基址、中断数、时钟速率、采样频率和其他详细信息,请参阅 MT3620 数据表 和 MT3620 M4 用户手册;如果问题仍然存在,你可以通过电子邮件 Azure.Sphere@avnet.com从 Avnet 请求详细信息。
UART 示例应用程序
UART_RTApp_MT3620_BareMetal示例演示如何在 RTApp 中通过 UART 进行通信。