在即時可用的應用程式中使用I2C
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
Azure Sphere 支援主要模式中的整合式線路 (I2C)。 I2C 是一種序列總線,可將低速周邊連接到微控制器。 I2C 使用多宿主/多次級模型,其中主要裝置會控制一組次級裝置。 I2C 通常與只需要與微控制器進行簡單的輕量型通訊的外圍設備搭配使用,例如設定控件、電源開關和感測器。
本主題描述如何在即時可用的應用程式中使用 I2C(RTApps)。 如需在高階應用程式中使用I2C的相關信息,請參閱 在高階應用程式中使用I2C。
注意
Azure Sphere OS 不會在啟動時重設周邊。 您的應用程式應該確保周邊在啟動或重新啟動后處於已知良好狀態。
即時核心上I2C的MT3620支援
MT3620 晶元的 I2C 規格會列在 MT3620 支援狀態中。 MT3620 開發板使用者指南說明線路的針腳配置和功能。
當您設定 MT3620 開發面板時,可以使用任何 ISU 區塊作為 I2C 主要介面。 當您使用 ISU 區塊作為 I2C 主要介面時,您無法使用與 SPI 或 UART 介面相同的區塊。
MT3620 不支援十位次級裝置位址;僅支援 7 位位址。 MT3620 支援 100 KHz、400 KHz 和 1 MHz 總線速度,但不支援 3.4 Mhz。 MT3620 不支援零位元組 I2C 讀取。
如需註冊基位址、中斷號碼、時鐘速率、取樣頻率,以及 MT3620 的其他詳細數據,請參閱 MT3620 數據工作表 和 MT3620 M4 用戶手錶;如果問題仍然存在,您可以透過電子郵件 Azure.Sphere@avnet.com向 Avnet 要求詳細數據。
應用程式指令清單設定
若要使用 I2C,RTApp 必須在應用程式指令清單的 [功能] 區段中列出它。 例如,下列這一行會在MT3620晶片上的ISU0上保留I2C主要介面:
"Capabilities": {
"I2cMaster": [ "ISU0" ] }
Azure Sphere 應用程式指令清單 有更多應用程式指令清單的詳細數據。
I2C 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含一些範例應用程式,示範如何在 Azure Sphere RTApps 中使用 MT3620 支援的周邊。 具體而言, I2C_RTApp_MT3620_BareMetal 範例示範如何在即時可用的應用程式中使用I2C周邊。