嵌入式與韌體

在I2C中,收到1位元組資料的一方通知已收到的方法,下列何者正確?

  1. A收到的一方在另一條線上持續輸出1
  2. B在第9個時脈期間,收到的一方把SDA拉到0(ACK)
  3. C收到的一方把相同的位元組回傳
查看答案與解析

正確答案:B. 在第9個時脈期間,收到的一方把SDA拉到0(ACK)

在I2C中,接續8位元資料的第9個時脈,由收到的一方把SDA拉到0來通知已收到(ACK)。若沒有人拉低,SDA會因上拉而維持在1,成為NACK。傳送位址時若沒有回傳ACK,可能是該裝置不存在、佈線斷線、位址不對等,可作為故障調查的線索。

  • A. I2C沒有確認用的另一條線。
  • B. 正確。若不拉到0就會成為NACK。
  • C. 不會回傳。
練習這個領域 前往領域頁面

嵌入式與韌體的其他題目

  1. 想把兩個相同型號的I2C溫度感測器接到同一條I2C線上,但兩者的位址相同。下列何種對策正確?
  2. 比較UART、SPI、I2C的說明,下列何者正確?
  3. 在得知週邊電路狀態的方法中,輪詢(polling)與中斷的差異,下列何者正確?
  4. 不使用OS的微控制器程式中常見的「超級迴圈(super loop)」架構,下列說明何者正確?
  5. 在嵌入式裝置中使用RTOS(即時作業系統)的主要目的,下列何者正確?

這個領域的比較