0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32L083 I2C主板發(fā)送編程示例

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-06-09 16:54 ? 次閱讀

主機(jī)發(fā)送示例

  1. 按GPIO章節(jié)引腳數(shù)字復(fù)用功能的相關(guān)描述,將SCL、SDA映射到需要的引腳,并配置SCL、SDA引腳為開漏輸出模式;
  2. 設(shè)置SYSCTRL_APBEN1.I2Cx為1,使能I2Cx模塊的時(shí)鐘;
  3. 向SYSCTRL_APBRST1.I2Cx依次寫入0、1,復(fù)位I2Cx模塊;
  4. 配置I2Cx_BRR,使SCL的時(shí)鐘速率符合應(yīng)用需求;
  5. 設(shè)置I2Cx_BRREN為1,使能SCL時(shí)鐘發(fā)生器;
  6. 設(shè)置I2Cx_CR.EN為1,使能I2C模塊;
  7. 設(shè)置I2Cx_CR.STA為1,總線嘗試發(fā)送START信號;
  8. 等待I2Cx_CR.SI變?yōu)?,START信號已發(fā)送到總線上;
  9. 查詢I2Cx_STAT,如果該寄存器值為0x08或0x10,繼續(xù)執(zhí)行下一步驟,否則進(jìn)行出錯(cuò)誤處理。
  10. 向I2Cx_DR中寫入SLA+W,設(shè)置I2Cx_CR.STA為0,設(shè)置I2Cx_CR.SI為0,發(fā)送SLA+W;
  11. 等待I2Cx_CR.SI變?yōu)?,SLA+W已經(jīng)發(fā)送到總線上;
  12. 查詢I2Cx_STAT,如果該寄存器值為0x18,繼續(xù)執(zhí)行下一步聚,否則進(jìn)行出錯(cuò)處理;
  13. 向I2Cx_DR寫入等發(fā)送的數(shù)據(jù),設(shè)置I2Cx_CR.SI為0,發(fā)送數(shù)據(jù);
  14. 等待I2Cx_CR.SI變?yōu)?,數(shù)據(jù)已發(fā)送到總線上;
  15. 查詢I2Cx_STAT,如果該寄存器為0x28,繼續(xù)執(zhí)行下一步驟,否則進(jìn)行出錯(cuò)處理;
  16. 如待發(fā)送的數(shù)據(jù)未完成,則跳轉(zhuǎn)到步驟13繼續(xù)執(zhí)行;
  17. 設(shè)置I2Cx_CR.STO為1,設(shè)置I2Cx_CR.SI為0,發(fā)送STOP停止信號,結(jié)束本次傳輸。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 主板
    +關(guān)注

    關(guān)注

    53

    文章

    1883

    瀏覽量

    70828
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3615

    瀏覽量

    93731
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1487

    瀏覽量

    123736
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1204

    瀏覽量

    52090
收藏 人收藏

    評論

    相關(guān)推薦

    基于CW32L083的線控器方案設(shè)計(jì)

    基于武漢芯源推出的CW32L083設(shè)計(jì)的空調(diào)線控器產(chǎn)品.
    的頭像 發(fā)表于 06-25 14:23 ?14.4w次閱讀
    基于<b class='flag-5'>CW32L083</b>的線控器方案設(shè)計(jì)

    CW32L083 RTC初始化設(shè)置

    介紹CW32L083的RTC初始化設(shè)置
    的頭像 發(fā)表于 06-24 10:16 ?1547次閱讀
    <b class='flag-5'>CW32L083</b> RTC初始化設(shè)置

    基于CW32L083的空調(diào)遙控器方案設(shè)計(jì)

    基于武漢芯源半導(dǎo)體推出的CW32L083而設(shè)計(jì)的的空調(diào)遙控器方案
    的頭像 發(fā)表于 06-21 16:03 ?1529次閱讀
    基于<b class='flag-5'>CW32L083</b>的空調(diào)遙控器方案設(shè)計(jì)

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083開發(fā)板上,并成功運(yùn)行。
    的頭像 發(fā)表于 07-03 09:04 ?2.2w次閱讀
    移植RT-Thread nano到<b class='flag-5'>CW32L083</b>

    [技術(shù)手冊] CW32L083數(shù)據(jù)手冊

    CW32L083數(shù)據(jù)手冊,PSMCU0116.pdf,Rev1.2
    發(fā)表于 05-31 16:13

    [技術(shù)手冊] CW32L083用戶手冊

    CW32L083用戶手冊
    發(fā)表于 06-02 15:41

    武漢芯源Cortex-M0+ 32位低功耗MCU CW32L083系列產(chǎn)品介紹

    FLASH 、最多 24KB RAM、最多87路GPIO,以及一系列增強(qiáng)型外設(shè)。外設(shè)主要包括:1路12位ADC,6路UART、2路SPI、2路IIC以及多路定時(shí)器等功能模塊,相較其他系列產(chǎn)品CW32L083
    發(fā)表于 08-24 09:12

    CW32L083系列MCU系統(tǒng)時(shí)鐘詳解

    的PCLKPRS位域設(shè)置,有效的分頻系數(shù)為2^n(n= 0~3),可作為GTIM,BTIM,ATIM等定時(shí)器以及SPI,I2C,UART等外設(shè)的配置時(shí)鐘和工作時(shí)鐘。CW32L083還有兩個(gè)低速時(shí)鐘源
    發(fā)表于 10-25 13:32

    首創(chuàng)CW32L083GCC工程模版

    32生態(tài)群里發(fā)了求助的信息,沒有回復(fù)。 2、在淘寶客服,咨詢,回復(fù)說,沒有工程。 3、有大佬提供了CW32F030的工程,我了解到CW32F030與CW32L083一樣是CortexM
    發(fā)表于 06-19 22:17

    CW32L083產(chǎn)品介紹

    CW32L083是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+ 核心,主頻高達(dá)64MHz,高速嵌入式存儲(chǔ)器(高達(dá)256K字節(jié)的FLASH和 高達(dá)24K字節(jié)
    發(fā)表于 09-14 06:41

    CW32L083微控制器數(shù)據(jù)手冊

    定時(shí)器以及一組高級控制 PWM 定時(shí)器。CW32L083 可以在 -40° C 到 85° C 的溫度范圍內(nèi)工作,供電電壓寬達(dá) 1.65V ~ 5.5V。支持 Sleep 和 DeepSleep兩種低功耗工作模式。
    發(fā)表于 09-14 06:27

    CW32L083 StartKit軟件包分享

    CW32L083 StartKit軟件包
    發(fā)表于 09-15 07:00

    CW32L083段碼屏驅(qū)動(dòng)

    CW32L083開發(fā)板上有8個(gè)段碼LCD顯示,使其顯示為0-9數(shù)字。
    的頭像 發(fā)表于 06-18 09:13 ?18.1w次閱讀
    <b class='flag-5'>CW32L083</b>段碼屏驅(qū)動(dòng)

    CW32L083實(shí)現(xiàn)SHT30驅(qū)動(dòng)

    CW32L083驅(qū)動(dòng)SHT30,并顯示到LCD屏上。
    的頭像 發(fā)表于 06-22 09:57 ?3097次閱讀
    <b class='flag-5'>CW32L083</b>實(shí)現(xiàn)SHT30驅(qū)動(dòng)

    CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?

    CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?
    的頭像 發(fā)表于 11-07 17:17 ?641次閱讀
    <b class='flag-5'>CW32L083</b>如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?