【STM32CubeMx你不知道的那些事】第六章:STM32CubeMx的I2C配置

  大家好這裏我給大家來講解一下STM32CubeMx的I2C配置。什麼是I2C呢?他其實也是一種單片機與對外設備的通信方式,這個通信方式都是世界標準的,官方都定義好了,你只需要按照官方定義的特定形式去編寫代碼就好。我們可以通過兩種方式去和外部的帶有I2C協議的設備通信,一種方式是用IO口模擬I2C協議去做,還有一種方式就是利用單片機自帶的I2C外設接口去做。那麼這兩種方式哪種更好,毫無疑問使用內部的I2C外設接口會更快,更節約資源。下面我來告訴大家I2C如何配置。

一、準備工作

這裏我們要想配置I2C並驗證需要的準備工作如下:

1、MDK for ARM(KEIL5)或者IAR FOR ARM(這個是軟件必備開發平臺) (必須)

2、一塊STM32最小系統開發板最好有外接E2PROM(這個是驗證軟件的平臺 E2PROM是I2C總線接口) (必須)

3、這裏最好有一本關於STM32學習的書籍(這裏就不推薦了,網上有一大把)

二、具體的操作

1、工程建立

1)、在Pinout菜單欄下,I2C的選擇與配置。配置如圖

在這裏插入圖片描述

2)、在Configuration菜單欄下,點擊Connectivity下的I2C彈出配置界面,配置如圖

在這裏插入圖片描述
這裏使用的是默認選項。

3)、生成工程

點擊Project菜單欄選擇Generate code,工程生成完畢。

2、工程測試

以上說了I2C的配置,現在說怎麼使用。我們這裏使用的是24C02(E2pPROM)代碼驗證如下

#define ADDR_24Cxx_Write 0xA0
#define ADDR_24Cxx_Read 0xA1

uint8_t temp=0;
HAL_I2C_Mem_Write(&hi2c1, ADDR_24LCxx_Write, 0, I2C_MEMADD_SIZE_8BIT,0x11,1,0xff);
HAL_I2C_Mem_Read(&hi2c1, ADDR_24LCxx_Read, 0, I2C_MEMADD_SIZE_8BIT,&temp,1,0xff);

這裏就可以驗證寫入到24C02裏面的數據是否正確了!

3、總結

這樣I2C配置就完成了!~~~

如有什麼不懂聯繫加QQ羣:1063618791歡迎大家學習交流!

QQ:1320300083

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章