16.3 STM32內(nèi)部IIC協(xié)議相關(guān)寄存器
16.3.1 控制寄存器1:I2Cx_CR1
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SWRST | - | ALERT | PEC | POS | ACK | STOP | START | NOSTRETCH | ENGC | ENPEC | ENAPR | SMBTYPE | - | SMBUS | PE |
Bit 15:軟件復(fù)位
0:I2C模塊不處于復(fù)位
1:I2C模塊處于復(fù)位
Bit 13:SMBus提醒:軟件可以設(shè)置或清除該位,當(dāng)PE=0時(shí),由硬件清除
0:釋放SMBAlert引腳使其變高,提醒響應(yīng)地址頭緊跟在NACK信號后面
1:驅(qū)動(dòng)SMBAlert引腳使其變低,提醒響應(yīng)地址頭緊跟在ACK信號后面
Bit 12:數(shù)據(jù)包出錯(cuò)檢測
0:無PEC傳輸
1:PEC傳輸
Bit 11:應(yīng)答/PEC位置
0:ACK位控制當(dāng)前移位寄存器內(nèi)正在接收的字節(jié)的ACK。PEC位表明當(dāng)前移位寄存器內(nèi)的字節(jié)是PEC
1:ACK位控制在移位寄存器里接收的下一個(gè)字節(jié)的ACK。PEC位表明在移位寄存器里接收的下一個(gè)字節(jié)是PEC
注1:POS位只能用在2字節(jié)的接收配置中,必須在接收數(shù)據(jù)之前配置
注2:為了NACK第2個(gè)字節(jié),必須在清除ADDR為之后清除ACK位
注3:為了檢測第2個(gè)字節(jié)的PEC,必須在配置了POS位之后,拉伸ADDR事件時(shí)設(shè)置PEC位
Bit 10:應(yīng)答使能
0:無應(yīng)答返回
1:在接收到一個(gè)字節(jié)后返回一個(gè)應(yīng)答
Bit 9:停止條件產(chǎn)生
在主模式下:
0:無停止條件產(chǎn)生
1:在當(dāng)前字節(jié)傳輸或在當(dāng)前起始條件發(fā)出后產(chǎn)生停止條件
在從模式下:
0:無停止條件產(chǎn)生
1:在當(dāng)前字節(jié)傳輸或釋放SCL和SDA線
Bit 8:起始條件產(chǎn)生
在主模式下:
0:無起始條件產(chǎn)生
1:重復(fù)產(chǎn)生起始條件
在從模式下:
0:無起始條件產(chǎn)生
1:當(dāng)總線空閑時(shí),產(chǎn)生起始條件
Bit 7:禁止時(shí)鐘延長
0:允許時(shí)鐘延長
1:禁止時(shí)鐘延長
Bit 6:廣播呼叫使能
0:禁止廣播呼叫,以非應(yīng)答響應(yīng)地址00h
1:允許廣播呼叫,以應(yīng)答響應(yīng)地址00h
Bit 5:PEC使能
0:禁止PEC計(jì)算
1:開啟PEC計(jì)算
Bit 4:ARP使能
0:禁止ARP
1:使能ARP
注1:如果SMBTYPE=0,使用SMBus設(shè)備的默認(rèn)地址
注2:如果SMBTYPE=1,使用SMBus的主地址
Bit 3:SMBus類型
0:SMBus設(shè)備
1:SMBus主機(jī)
Bit 1:SMBus模式
0:I2C模式
1:SMBus模式
Bit 0:I2C模塊使能
0:禁用I2C模塊
1:啟用I2C模塊,根據(jù)SMBus位的設(shè)置,相應(yīng)的I/O口需配置為復(fù)用功能
注:在主模式下,通訊結(jié)束之前,絕不能清除該位
16.3.2 控制寄存器2:I2Cx_CR2
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | LAST | DMAEN | ITBUFEN | ITEVTEN | ITERREN | - | FREQ[5:0] |
Bit 12:DMA最后一次傳輸
0:下一次DMA的EOT不是最后的傳輸
1:下一次DMA的EOT是最后的傳輸
Bit 11:DMA請求使能
0:禁止DMA請求
1:當(dāng)TxE=1或RxNE=1時(shí),允許DMA請求
Bit 10:緩沖器中斷使能
0:當(dāng)TxE=1或RxNE=1時(shí),不產(chǎn)生任何中斷
1:當(dāng)TxE=1或RxNE=1時(shí),產(chǎn)生事件中斷
Bit 9:事件中斷使能
0:禁止事件中斷
1:允許事件中斷
在下列條件下,將產(chǎn)生該中斷:
SB=1(主模式)
ADDR=1(主/從模式)
ADD10=1(主模式)
STOPF=1(從模式)
BTF=1,但是沒有TxE或RxNE事件
如果ITBUFEN=1,TxE事件為1
如果ITBUFEN=1,RxNE事件為1
Bit 8:出錯(cuò)中斷使能
0:禁止出錯(cuò)中斷
1:允許出錯(cuò)中斷
在下列條件下,將產(chǎn)生該中斷:
BERR=1
ARLO=1
AF=1
OVR=1
PECERR=1
TIMEOUT=1
SMBAlert=1
Bit 5~Bit 0:I2C模塊時(shí)鐘頻率,允許的范圍在2~36MHz之間
000000:禁用
000001:禁用
000010:2MHz
...
100100:36MHz
大于100100:禁用
16.3.3 上升時(shí)間寄存器:I2Cx_TRISE
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | TRISE[5:0] |
Bit 5~Bit 0:在快速/標(biāo)準(zhǔn)模式下的SCL最大上升時(shí)間(主模式)
例如:標(biāo)準(zhǔn)模式中最大允許SCL上升時(shí)間為1000ns。如果在I2C_CR2寄存器中FREQ中的值等于0x08且TPCLK1=125ns,故TRISE中必須寫入09h(1000ns/125ns=8+1)
注:只有當(dāng)PE=0時(shí),才能設(shè)置TRISE
16.3.4 時(shí)鐘控制寄存器:I2Cx_CCR
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F/S | DUTY | - | CCR[11:0] |
Bit 15:I2C主模式選項(xiàng)
0:標(biāo)準(zhǔn)模式的I2C
1:快速模式的I2C
Bit 14:快速模式時(shí)的占空比
0:快速模式下T low /T high =2
1:快速模式下T low /T high =16/9
Bit 11~Bit 0:快速/標(biāo)準(zhǔn)模式下的時(shí)鐘控制分頻系數(shù)(主模式)
在I2C標(biāo)準(zhǔn)模式或SMBus模式下:
T high =CCR×TPCLK1
T low =CCR×TPCLK1
在I2C快速模式下:
如果DUTY=0:
T high =CCR×TPCLK1
T low =2×CCR×TPCLK1
如果DUTY=1:
T high =9×CCR×TPCLK1
T low =16×CCR×TPCLK1
例如:在標(biāo)準(zhǔn)模式下,產(chǎn)生100kHz的SCL的頻率,如果FREQR=08,TPCLK1=125ns,則CCR必須寫入0x28(40×125ns=5000ns)
注1:允許設(shè)定的最小值為0x04,在快速DUTY模式下允許的最小值為0x01
注2:fCK應(yīng)當(dāng)是10MHz的整數(shù)倍,這樣可以正確產(chǎn)生400kHz的快速時(shí)鐘
上一篇:STM32入門學(xué)習(xí)筆記之EEPROM存儲(chǔ)實(shí)驗(yàn)5
下一篇:STM32入門學(xué)習(xí)筆記之看門狗實(shí)驗(yàn)(上)
推薦閱讀最新更新時(shí)間:2025-06-07 23:31




設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- LTM4602HV 演示板、28V、6A 降壓模塊穩(wěn)壓器
- PCB書簽 尺子 卡片
- PeanutPI
- 平衡自行車+獨(dú)輪車
- AM1DR-1209SZ 9V 1 瓦 DC-DC 轉(zhuǎn)換器的典型應(yīng)用
- NCV33074ADR2G 直流耦合反相放大器最大輸出擺幅的典型應(yīng)用
- 【明日方舟】羅德島本艦主控板V6.2
- DC795A,使用 LT5527EUF 4.5V 至 5.25V 高線性下變頻混頻器的演示板
- XL4016可調(diào)恒壓恒流實(shí)驗(yàn)電源
- 帶內(nèi)部開關(guān)的 PAM2863 2A LED 驅(qū)動(dòng)器的典型應(yīng)用
- 解決方案 | 芯佰微助力電動(dòng)車安全:通用型OPA、LDO、RS485芯片,提升報(bào)警器性能
- ASML 技術(shù)高級副總裁:已攜手蔡司啟動(dòng) 5nm 分辨率 Hyper NA 光刻機(jī)開發(fā)
- 搭載Integrity Guard安全架構(gòu)的芯片交付量突破100億, 充分彰顯英飛凌在安全領(lǐng)域的領(lǐng)導(dǎo)地位
- QNX與Vector簽署諒解備忘錄,共同打造基礎(chǔ)性車輛軟件平臺(tái)
- 瑞薩電子放緩增長預(yù)期,200 億美元營收目標(biāo)延后五年至 2035 年
- 消息稱小米玄戒 O2 芯片有望“上車”,自研四合一域控制器已在鋪路
- 優(yōu)化電動(dòng)汽車車載充電器瞬態(tài)電壓保護(hù)和浪涌保護(hù)
- 新能源汽車電子水泵溫控系統(tǒng)及靜電浪涌
- 車載顯示接口測試趨勢分析
- Arm+AWS實(shí)現(xiàn)AI定義汽車 基于Arm KleidiAI優(yōu)化并由AWS提供支持
- 2018上半年人臉識(shí)別領(lǐng)域十大值得關(guān)注企業(yè)盤點(diǎn)
- LPC23XX定時(shí)器功能范例
- lpc1768 時(shí)鐘與定時(shí)器
- LPC1788和LPC1768時(shí)鐘配置的差異
- 《新中產(chǎn)高端家電消費(fèi)趨勢白皮書》正式發(fā)布
- 中興通訊公開 “輔助駕駛系統(tǒng)”相關(guān)專利,可提高輔助駕駛可靠性
- 固態(tài)電池:讓人歡喜讓人憂
- 2020全球動(dòng)力電池裝機(jī)量TOP10解析
- 麥格納推出先進(jìn)電動(dòng)驅(qū)動(dòng)系統(tǒng) 可減少碳排放并增加續(xù)航里程
- 現(xiàn)代汽車將采用安霸人工智能處理器 打造無人駕駛汽車