簡體   English   中英

I2C SCL線,STM32F4上的時鍾問題

[英]I2C SCL line, clock issue on STM32F4

在I2C界面中,

SCL,即使總線上沒有任何設備,時鍾線也會傳輸時鍾信號嗎?

我們如何調試I2C?

I2C總線主機不知道是否有從設備連接到總線。

它所能做的就是通過將從站的地址發送到總線來啟動與特定設備的通信(可以是讀取或寫入操作)。 如果主機收到ACK,則進行確認,這意味着從機已准備就緒(並出現在總線上)進行通信。 NACK(未確認)可能意味着從站未准備好。 如果請求超時,則意味着總線上沒有具有特定地址的可用設備。

現在,回到您的問題:

SCL,即使總線上沒有任何設備,時鍾線也會傳輸時鍾信號嗎?

是的,即使沒有任何從機,當主機啟動通信時,時鍾線也會被驅動。 使用時鍾,因為總線上有數據,即從設備地址。

如下圖所示,唯一的區別是,如果總線上沒有從設備(具有該地址),則不會出現ACK。

在此處輸入圖片說明

現在進行調試,最好的辦法是購買邏輯分析儀 (eBay或aliexpress上提供更便宜的版本)來捕獲總線上實際發生的情況。 上面的圖像是用一個制作的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM