原文:STM32應用實例十:簡析STM32 I2C通訊死鎖問題

I C接口是一種使用非常普遍的MCU與外部設備的接口方式,在STM 中也集成了I C接口,我們也常常使用它來與外圍的傳感器等設備通訊。 最近在我們使用STM F VET 讀取壓力和溫濕度傳感器數據時,就是使用I C接口來實現通訊的。但在使用I C和STM F 的標准庫讀取數據時出現了死機的現象。其現象是這樣的,程序可以順利的運行,但I C沒有數據返回。用示波器查看波形時,發現SCL的電平時鍾為高, ...

2017-05-19 15:21 0 2307 推薦指數:

查看詳情

STM32I2C框圖詳解及通訊過程

  STM32I2C 特性及架構   如果我們直接控制STM32 的兩個GPIO 引腳,分別用作SCL 及SDA,按照上述信號的時序要求,直接像控制LED 燈那樣控制引腳的輸出(若是接收數據時則讀取SDA 電平),就可以實現I2C 通訊。同樣,假如我們按照USART 的要求去控制引腳 ...

Fri Dec 20 23:47:00 CST 2019 0 2141
STM32 i2c通訊失敗復位方法

最近在調研STM32 F10X,准備把公司AVR的MCU項目遷移到STM32上。在調研STM32 i2c這一部分時,在與i2c slave硬件連接斷開后,這時再去讀/寫 i2c slave需要STM32這邊的i2c_read/write函數做一些處理。 剛開始在i2c讀寫timeout后,添加 ...

Fri Apr 17 02:56:00 CST 2020 0 1319
STM32應用實例八:與多台MS5803壓力傳感器I2C通訊

MS5803壓力傳感器支持SPI和I2C總線通訊,擁有24位AD轉換。能夠同時獲得壓力值和溫度值,其中壓力測量范圍為10-1100mbar,溫度的測量范圍是-40-85攝氏度。各引腳功能及參數如下: 傳感器內部結構圖如下: 通訊協議的選擇通過PS引腳來設置 ...

Sat Mar 25 16:53:00 CST 2017 0 2487
STM32應用實例六:與MS5837壓力傳感器的I2C通訊

MS5837壓力傳感器是一種可用於電路板上,適用於檢測10-1200mbar壓力范圍的傳感器,靈敏度非常高,理論上能夠檢測到0.01mbar的壓力變化,實際使用過程中測試並無明顯的變化。 MS5837采用I2C總線通訊,與STM32的MCU可以實現I2C通訊。硬件連接方式 ...

Sat Mar 11 16:54:00 CST 2017 0 5647
stm32I2C

I2C基本概念 I2C (芯片間)總線接口連接微控制器和串行I2C總線。它提供多主機功能,控制所有I2C總線特定的時序、協議、仲裁和定時。支持標准和快速兩種模式,同時與SMBus 2.0兼容。I2C模塊有多種用途,包括CRC碼的生成和校驗、 SMBus(系統管理總線—System ...

Sat Mar 28 01:23:00 CST 2020 0 800
解決STM32 I2C接口死鎖在BUSY狀態的方法討論

關於STM32I2C接口死鎖在BUSY狀態無法恢復的現象,網上已有很多討論,看早幾年比較老的貼子,有人提到復位MCU也無法恢復、只有斷電才行的狀況,那可是相當嚴重的問題。類似復位也無法恢復的情況是存在的,技術支持矢口否認問題存在,並不是正確面對問題的態度。比如我用這款F439芯片的SDRAM ...

Thu Apr 25 22:44:00 CST 2019 0 834
STM32I2C特性及架構

軟件模擬協議:使用CPU直接控制通訊引腳(GPIO)的電平,產生出符合通訊協議標准的邏輯。 硬件實現協議:由STM32I2C片上外設專門負責實現I2C通訊協議,只要配置好該外設,它就會自動根據協議要求產生通訊信號,收發數據並緩存起來,CPU只要檢測該外設的狀態 ...

Fri May 04 07:22:00 CST 2018 0 1786
STM32之模擬I2C的實現

一、什么是I2C?   I2C是串行數據總線,有兩根信號線組成,一根是SDA(數據線),一根是SCL(時鍾線)。I2C總線是多主從總線,當有兩個主機或多個主機同時初始化傳輸數據時,可以通過沖突檢測和仲裁防止數據被破壞,每個連接到總線上的設備都有唯一的地址,任何器件既可以作為主機也可以作為從機 ...

Sun Aug 16 00:22:00 CST 2020 0 615
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM