工程創建 目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153開發板BSP,需要從gitee下載最新的主線,通過scons命令創建工程。下載好主線源碼后,在rt-threadsp xpmcxmcxafrdm-mcxa153 目錄下打開scons環境,配置IIC驅動和SSD1306 OLED。
I2C配置
恩智浦FRDM-MCXA153開發板板載的mikroBUS socket預留一個IIC接口,具體可以從針腳圖看到下圖紅框處的針腳。
NXP MCXA153引入了一個Flexcomm概念,每個Flexcomm接口可通過軟件選擇作為USART、SPI或I2C接口。此處只需要在menuconfig中選擇I2C0即可。
1. 因為FRDM-MCXA153的BSP目前只有pin和Uart的驅動,需要增加drv_i2c.c文件,直接從已有的BSP(如N947)拷貝過來,同時修改baud、clock_attach_id、clock_div_name初始化值:
2. 修改 pin_mux.c 文件中的 BOARD_InitPins 函數,添加I2C0的復位和引腳初始化代碼:
同時加上I2C0的SDA SCL針腳初始化代碼:
SSD1306 OLED配置
在menuconfig中選擇enable SSD1306,并且設置好I2C bus name,I2C的地址默認是0x3c無需修改:
上述內容設置好之后,選擇保存。分別執行下述2個命令:
打開生成的Keil工程并編譯程序:
I2C測試
下載固件到FRDM-MCXA153開發板并重置系統
在串口終端中,應該看到類似以下的輸出:
1. 使用 list device命令查看已注冊的設備:
2. 運行SSD1306 OLED演示程序:
如果一切正常,在連接的OLED顯示屏上可以看到RT-Thread的logo:
I2C驅動實現細節 以下是 drv_i2c.c 文件的關鍵部分:
這個驅動實現了I2C主機傳輸功能,支持讀寫操作,并使用了NXP SDK提供的LPI2C驅動。
結論
通過以上步驟,我們成功在RT-Thread MCXA153上實現了I2C驅動,并驗證了其功能。這為進一步開發基于I2C的應用(如OLED顯示)奠定了基礎。在實際應用中,可根據需要來調整I2C的配置參數,如波特率、地址等,以適應不同的I2C設備。
希望這個指南能夠幫助您在RT-Thread MCXA153上成功實現I2C應用!
參考資料 1. RT-Thread文檔: https://www.rt-thread.org/document/site/ 2. NXP MCXA153參考手冊 3. RT-Thread I2C設備驅動文檔
通過近幾期的深度介紹,我們一同領略了MCXA153 RTT的強大功能與廣泛應用潛力!
MCXA153 RTT技術盛宴來襲,精彩不容錯過!
MCXA153 RTT技術盛宴-探索GPIO的無限可能
深度探索恩智浦FRDM-MCXA153上的RT-Thread實踐指南-玩轉ADC
快跟上!恩智浦FRDM-MCXA153 RT-Thread實踐指南4_FLASH
恩智浦FRDM-MCXA153 RT-Thread實踐指南5-SPI
相信您已對如何在RT-Thread MCXA153上開發應用有了更深入的理解,如有任何疑問或建議,都歡迎隨時在RT-Thread社區論壇上留言。 讓我們共同推動技術進步,共創美好未來!
-
恩智浦
+關注
關注
14文章
5825瀏覽量
106674 -
IIC
+關注
關注
11文章
300瀏覽量
38273 -
I2C總線
+關注
關注
8文章
388瀏覽量
60826 -
RT-Thread
+關注
關注
31文章
1272瀏覽量
39917 -
FRDM
+關注
關注
1文章
11瀏覽量
2517
原文標題:快來查收!FRDM-MCXA153 RT-Thread開發實戰(六):I2C總線開發與應用
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論