主機發送示例
- 按GPIO章節引腳數字復用功能的相關描述,將SCL、SDA映射到需要的引腳,并配置SCL、SDA引腳為開漏輸出模式;
- 設置SYSCTRL_APBEN1.I2Cx為1,使能I2Cx模塊的時鐘;
- 向SYSCTRL_APBRST1.I2Cx依次寫入0、1,復位I2Cx模塊;
- 配置I2Cx_BRR,使SCL的時鐘速率符合應用需求;
- 設置I2Cx_BRREN為1,使能SCL時鐘發生器;
- 設置I2Cx_CR.EN為1,使能I2C模塊;
- 設置I2Cx_CR.STA為1,總線嘗試發送START信號;
- 等待I2Cx_CR.SI變為1,START信號已發送到總線上;
- 查詢I2Cx_STAT,如果該寄存器值為0x08或0x10,繼續執行下一步驟,否則進行出錯誤處理。
- 向I2Cx_DR中寫入SLA+W,設置I2Cx_CR.STA為0,設置I2Cx_CR.SI為0,發送SLA+W;
- 等待I2Cx_CR.SI變為1,SLA+W已經發送到總線上;
- 查詢I2Cx_STAT,如果該寄存器值為0x18,繼續執行下一步聚,否則進行出錯處理;
- 向I2Cx_DR寫入等發送的數據,設置I2Cx_CR.SI為0,發送數據;
- 等待I2Cx_CR.SI變為1,數據已發送到總線上;
- 查詢I2Cx_STAT,如果該寄存器為0x28,繼續執行下一步驟,否則進行出錯處理;
- 如待發送的數據未完成,則跳轉到步驟13繼續執行;
- 設置I2Cx_CR.STO為1,設置I2Cx_CR.SI為0,發送STOP停止信號,結束本次傳輸。
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
主板
+關注
關注
53文章
1875瀏覽量
70764 -
編程
+關注
關注
88文章
3614瀏覽量
93686 -
I2C
+關注
關注
28文章
1484瀏覽量
123619 -
GPIO
+關注
關注
16文章
1204瀏覽量
52051
發布評論請先 登錄
相關推薦
武漢芯源Cortex-M0+ 32位低功耗MCU CW32L083系列產品介紹
FLASH 、最多 24KB RAM、最多87路GPIO,以及一系列增強型外設。外設主要包括:1路12位ADC,6路UART、2路SPI、2路IIC以及多路定時器等功能模塊,相較其他系列產品CW32L083
發表于 08-24 09:12
CW32L083系列MCU系統時鐘詳解
的PCLKPRS位域設置,有效的分頻系數為2^n(n= 0~3),可作為GTIM,BTIM,ATIM等定時器以及SPI,I2C,UART等外設的配置時鐘和工作時鐘。CW32L083還有兩個低速時鐘源
發表于 10-25 13:32
首創CW32L083GCC工程模版
32生態群里發了求助的信息,沒有回復。
2、在淘寶客服,咨詢,回復說,沒有工程。
3、有大佬提供了CW32F030的工程,我了解到CW32F030與CW32L083一樣是CortexM
發表于 06-19 22:17
CW32L083產品介紹
CW32L083是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+
核心,主頻高達64MHz,高速嵌入式存儲器(高達256K字節的FLASH和
高達24K字節
發表于 09-14 06:41
CW32L083微控制器數據手冊
定時器以及一組高級控制 PWM 定時器。CW32L083 可以在 -40° C 到 85° C 的溫度范圍內工作,供電電壓寬達 1.65V ~ 5.5V。支持 Sleep 和 DeepSleep兩種低功耗工作模式。
發表于 09-14 06:27
評論