I2C接口是由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成,在標(biāo)準(zhǔn)模式下通信速度可達(dá)到100kHz,快速模式下則可以達(dá)到400kHz,增強(qiáng)快速模式可達(dá)到1MHz。一幀數(shù)據(jù)傳輸從開(kāi)始信號(hào)開(kāi)始,在結(jié)束信號(hào)后停止,在收到開(kāi)始信號(hào)后總線被認(rèn)為是繁忙的,當(dāng)收到結(jié)束信號(hào)后,總線被認(rèn)為再次空閑。I2C接口具有主機(jī)和從機(jī)模式、多主機(jī)功能、可編程建立和保持時(shí)間、時(shí)鐘延展功能、DMA存取數(shù)據(jù)、支持SMBus 2.0協(xié)議等特點(diǎn)。
圖1. I2C框圖
I2C接口通信
主機(jī)通信流程
主機(jī)通信初始化
主機(jī)時(shí)鐘初始化
在啟動(dòng)外設(shè)(I2CEN)之前,必須先設(shè)置I2Cx_CLKCTRL寄存器的各個(gè)位用以配置I2C主時(shí)鐘。
DIV[7:0]:I2C時(shí)鐘分頻;
SDAD[3:0]:數(shù)據(jù)保持時(shí)間(tHD;DAT)
SCLD[3:0]:數(shù)據(jù)建立時(shí)間(tSU;DAT)
SCLH[7:0]:SCL高電平時(shí)間
SCLL[7:0]:SCL低電平時(shí)間
該寄存器的配置可以使用Artery_I2C_Timing_Configuration時(shí)鐘配置工具計(jì)算,見(jiàn)第三章節(jié)。低電平控制:當(dāng)檢測(cè)到SCL總線為低電平時(shí),內(nèi)部SCLL計(jì)數(shù)器開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到SCLL值時(shí),釋放SCL線,SCL線變?yōu)楦唠娖健?/p>
高電平控制:當(dāng)檢測(cè)到SCL總線為高電平時(shí),內(nèi)部SCLH計(jì)數(shù)器開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到SCLH值時(shí),拉低SCL線,SCL線變?yōu)榈碗娖?,?dāng)在高電平期間,如果被外部總線拉低,那么內(nèi)部SCLH計(jì)數(shù)器停止計(jì)數(shù),并開(kāi)始低電平計(jì)數(shù),這為時(shí)鐘同步提供了條件。
圖2. 主機(jī)時(shí)鐘的產(chǎn)生
主機(jī)通信初始化
在啟動(dòng)通訊前須先設(shè)定I2C_CTRL2寄存器中的幾項(xiàng)參數(shù):
設(shè)置傳輸字節(jié)數(shù)
≤255字節(jié)
配置I2C_CTRL2的RLDEN=0,關(guān)閉重載模式
配置I2C_CTRL2的CNT[7:0]=N
>255字節(jié)
配置I2C_CTRL2的RLDEN=1,使能重載模式
配置I2C_CTRL2的CNT[7:0]=255
剩余傳輸字節(jié)數(shù)N=N-255
設(shè)置傳輸結(jié)束模式
ASTOPEN=0:軟件結(jié)束模式,當(dāng)數(shù)據(jù)傳輸完成后,I2C_STS的TDC標(biāo)志置1,軟件設(shè)置GENSTOP=1或者GENSTART=1,發(fā)送STOP條件或者START條件。
ASTOPEN=1:自動(dòng)結(jié)束模式,當(dāng)數(shù)據(jù)傳輸完成后,自動(dòng)發(fā)送STOP條件。
設(shè)置從機(jī)地址
設(shè)置尋址的從機(jī)地址值(I2C_CTRL2的SADDR)
設(shè)置從機(jī)地址模式(I2C_CTRL2的ADDR10)
ADDR10=0:7位地址模式
ADDR10=1:10位地址模式
設(shè)置傳輸方向(I2C_CTRL2的DIR)
DIR=0:主機(jī)接收數(shù)據(jù)
DIR=1:主機(jī)發(fā)送數(shù)據(jù)
開(kāi)始傳輸
設(shè)置I2C_CTRL2的GENSTART=1,主機(jī)開(kāi)始在總線上發(fā)送START條件和從機(jī)地址。
主機(jī)10 bits尋址的特殊時(shí)序初始化
在10位地址傳輸模式下,I2C_CTRL2的READH10用于產(chǎn)生特殊時(shí)序,當(dāng)READH10=1時(shí),支持如下傳輸序:主機(jī)先發(fā)送數(shù)據(jù)給從機(jī),然后再?gòu)膹臋C(jī)讀取數(shù)據(jù),傳輸時(shí)序圖如下圖所示:
圖3. 10位地址的讀訪問(wèn)READH10=1
主機(jī)在軟件結(jié)束模式(ASTOPEN=0)下,發(fā)送數(shù)據(jù)到從機(jī),當(dāng)數(shù)據(jù)發(fā)送完成后設(shè)置READH10=1,然后再?gòu)膹臋C(jī)接收數(shù)據(jù)。
圖4. 10位地址的讀訪問(wèn)READH10=0
主機(jī)通信初始化軟件接口
主機(jī)通信初始化所用到的軟件接口通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_init函數(shù)三個(gè)參數(shù)分別為:所使用的I2C、數(shù)字濾波值和主機(jī)時(shí)鐘配置值。
i2c_transmit_set 函數(shù)用于初始化通信參數(shù),包括:所使用的I2C、從機(jī)地址、傳輸字節(jié)數(shù)、停止條件產(chǎn)生模式和起始條件產(chǎn)生模式。
i2c_addr10_mode_enable函數(shù)用于使能10位地址模式。
i2c_addr10_header_enable函數(shù)用于使能10位地址頭讀取時(shí)序,即主機(jī)發(fā)送完整的10位從機(jī)地址讀序列或主機(jī)只發(fā)送10位地址的前7位。
主機(jī)發(fā)送流程
I2C_TXDT數(shù)據(jù)寄存器為空,I2C_STS的TDIS=1;
向TXDT數(shù)據(jù)寄存器寫(xiě)入數(shù)據(jù),數(shù)據(jù)開(kāi)始發(fā)送;
重復(fù)1、2步驟直到發(fā)送CNT[7:0]個(gè)數(shù)據(jù);
如果此時(shí)I2C_STS的TCRLD=1(重載模式),分為以下兩種情況:
剩余字節(jié)數(shù)N>255:向CNT寫(xiě)入255,N=N-255,TCRLD被自動(dòng)清0,傳輸繼續(xù);
剩余字節(jié)數(shù)N≤255:關(guān)閉重載模式(RLDEN=0),向CNT寫(xiě)入N,TCRLD被自動(dòng)清0,傳輸繼續(xù)。
結(jié)束時(shí)序
停止條件產(chǎn)生:
軟件結(jié)束模式(ASTOPEN=0):此時(shí)I2C_STS的TDC置1,設(shè)置GENSTOP=1產(chǎn)生STOP條件;
自動(dòng)結(jié)束模式(ASTOPEN=1):自動(dòng)產(chǎn)生STOP條件。
等待產(chǎn)生STOP條件,當(dāng)STOP條件產(chǎn)生時(shí),I2C_STS的STOPF置1,將I2C_CLR的STOPC寫(xiě)1,清除STOPF標(biāo)志,傳輸結(jié)束。
圖5. I2C主機(jī)發(fā)送流程圖
圖6. I2C主機(jī)發(fā)送時(shí)序圖
主機(jī)發(fā)送流程軟件接口
主機(jī)發(fā)送通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_master_transmit函數(shù)為i2c_application.c文件所提供的應(yīng)用層接口函數(shù),參數(shù)包括:I2C結(jié)構(gòu)體指針、從機(jī)地址、發(fā)送數(shù)據(jù)指針、發(fā)送數(shù)據(jù)字節(jié)數(shù)和函數(shù)超時(shí)時(shí)間。
注:此函數(shù)為Artery所提供的標(biāo)準(zhǔn)主機(jī)發(fā)送函數(shù)。用戶也可根據(jù)前述主機(jī)發(fā)送流程,自行編寫(xiě)主機(jī)發(fā)送函數(shù)。
主機(jī)接收流程
當(dāng)收到數(shù)據(jù)后,RDBF=1,讀取RXDT數(shù)據(jù)寄存器,RDBF被自動(dòng)清零;
重復(fù)步驟2直到接收CNT[7:0]個(gè)數(shù)據(jù);
如果此時(shí)I2C_STS的TCRLD=1(重載模式),分為以下兩種情況:
剩余字節(jié)數(shù)N>255:向CNT寫(xiě)入255,N=N-255,TCRLD被自動(dòng)清0,傳輸繼續(xù);
剩余字節(jié)數(shù)N≤255:關(guān)閉重載模式(RLDEN=0),向CNT寫(xiě)入N,TCRLD被自動(dòng)清0,傳輸繼續(xù)。
當(dāng)在接收到最后一個(gè)字節(jié)時(shí),主機(jī)會(huì)自動(dòng)發(fā)送一個(gè)NACK。
結(jié)束時(shí)序
停止條件產(chǎn)生:
軟件結(jié)束模式(ASTOPEN=0):此時(shí)I2C_STS的TDC置1,設(shè)置GENSTOP=1產(chǎn)生STOP條件;
自動(dòng)結(jié)束模式(ASTOPEN=1):自動(dòng)產(chǎn)生STOP條件。
等待產(chǎn)生STOP條件,當(dāng)STOP條件產(chǎn)生時(shí),I2C_STS的STOPF置1,將I2C_CLR的STOPC寫(xiě)1,清除STOPF標(biāo)志,傳輸結(jié)束。
圖7. I2C主機(jī)接收流程圖
圖8. I2C主機(jī)接收時(shí)序圖
主機(jī)接收流程軟件接口
主機(jī)接收通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_master_receive函數(shù)為i2c_application.c文件所提供的應(yīng)用層接口函數(shù),參數(shù)包括:I2C結(jié)構(gòu)體指針、從機(jī)地址、接收數(shù)據(jù)指針、接收數(shù)據(jù)字節(jié)數(shù)和函數(shù)超時(shí)時(shí)間。
注:此函數(shù)為Artery所提供的標(biāo)準(zhǔn)主機(jī)接收函數(shù)。用戶也可根據(jù)前述主機(jī)接收流程,自行編寫(xiě)主機(jī)接收函數(shù)。
從機(jī)通信流程
從機(jī)通信初始化
從機(jī)地址配置
每個(gè)I2C從設(shè)備可同時(shí)支持2個(gè)從設(shè)備地址,由OADDR1和OADDR2指定
I2C_OADDR1
通過(guò)ADDR1EN使能
通過(guò)ADDR1MODE配置為7位(默認(rèn))或10位地址
I2C_OADDR2
通過(guò)ADDR2EN使能
固定7位地址模式
可通過(guò)ADDR2MASK[2:0]來(lái)在進(jìn)行地址匹配比較時(shí)屏蔽掉0~7個(gè)LSB地址位
ADDR2MASK=0表示7位地址中的每一位都要參與匹配比較
ADDR2MASK=7表示任何非保留地址的7位地址都會(huì)被該從設(shè)備應(yīng)答
從機(jī)地址匹配
當(dāng)I2C啟用的地址選中匹配時(shí),ADDRF中斷狀態(tài)標(biāo)志會(huì)被置1,如果ADDRIEN位為1,就會(huì)產(chǎn)生一個(gè)中斷。如果兩個(gè)從地址都使能,在地址匹配產(chǎn)生ADDR中斷時(shí),可以查看狀態(tài)寄存器中的ADDR[6:0]來(lái)得知是OADDR1還是OADDR2被尋址了。
從機(jī)字節(jié)控制模式(通常SMBus模式下才使用)
從設(shè)備可以對(duì)每個(gè)收到的字節(jié)進(jìn)行應(yīng)答控制。
所需配置:SCTRL=1 & RLDEN=1 & STRETCH=0 & CNT≥1
從機(jī)字節(jié)控制流程:
每收到一個(gè)字節(jié)TCRLD置位,時(shí)鐘延展于第8和第9個(gè)脈沖之間
軟件讀取RXDT中的值,并決定是否置位ACK
軟件重裝載CNT=1來(lái)停止時(shí)鐘延展
應(yīng)答或非應(yīng)答信號(hào)在第9個(gè)脈沖時(shí)刻出現(xiàn)在總線上
注意:
置位SCTRL時(shí),必須開(kāi)啟時(shí)鐘延展,即STRETCH=0
CNT可以是大于1的值,來(lái)實(shí)現(xiàn)多個(gè)字節(jié)以自動(dòng)ACK接收完畢后再啟動(dòng)應(yīng)答控制,從設(shè)備發(fā)送時(shí)推薦關(guān)閉SCTRL,此時(shí)無(wú)需字節(jié)應(yīng)答控制。
從機(jī)通信初始化軟件接口
從機(jī)通信初始化所用到的軟件接口通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_own_address1_set函數(shù)用于配置OADDR1地址模式以及ADDR1地址值。
i2c_own_address2_set函數(shù)用于配置ADDR2地址值以及ADDR2屏蔽位。
i2c_own_address2_enable函數(shù)用于使能ADDR2地址。
i2c_slave_data_ctrl_enable函數(shù)用于使能從機(jī)字節(jié)控制模式。
i2c_clock_stretch_enable函數(shù)用于使能從機(jī)時(shí)鐘延展功能。
i2c_reload_enable函數(shù)用于使能發(fā)送數(shù)據(jù)重載模式。
從機(jī)發(fā)送流程
響應(yīng)主機(jī)地址,匹配時(shí)回復(fù)ACK;
TXDT為空時(shí),置位TDIS,從設(shè)備寫(xiě)入發(fā)送數(shù)據(jù);
每發(fā)送一個(gè)字節(jié)會(huì)收到ACK,且置位TDIS;
如果收到NACK位:
置位NACKF,產(chǎn)生中斷;
從設(shè)備自動(dòng)釋放SCL和SDA(以便主設(shè)備發(fā)送STOP或RESTART);
如果收到STOP位:
置位STOPF,產(chǎn)生中斷;
當(dāng)從機(jī)發(fā)送開(kāi)啟時(shí)鐘延展(STRETCH=0)時(shí),在等待ADDRF標(biāo)志時(shí)和發(fā)送前一個(gè)數(shù)據(jù)的第9個(gè)時(shí)鐘脈沖后,會(huì)把TXDT中的數(shù)據(jù)拷貝到移位寄存器中,如果此時(shí)TDIS還是置位,表示TXDT沒(méi)有寫(xiě)進(jìn)待發(fā)送數(shù)據(jù),將發(fā)生時(shí)鐘延展,如下流程圖:
圖9. I2C從機(jī)發(fā)送流程圖
需要注意的是,在時(shí)鐘延展關(guān)閉(STRETCH=1)的情況下,如果在將要傳輸數(shù)據(jù)的第一個(gè)Bit位開(kāi)始發(fā)送之前,也就是SDA邊沿產(chǎn)生之前,如果數(shù)據(jù)還未寫(xiě)入TXDT數(shù)據(jù)寄存器,那么會(huì)發(fā)生欠載錯(cuò)誤,此時(shí)I2C_STS的OUF將會(huì)置1,并將0xFF發(fā)送到總線。
為了能及時(shí)的寫(xiě)入數(shù)據(jù),可以在通信開(kāi)始前,先將數(shù)據(jù)寫(xiě)入到DT寄存器:軟件先將TDBE置1,目的是為了清空TXDT寄存器的數(shù)據(jù),然后將第一個(gè)數(shù)據(jù)寫(xiě)入TXDT寄存器,此時(shí)TDBE清零。
圖10. I2C從機(jī)發(fā)送時(shí)序圖
從機(jī)發(fā)送流程軟件接口
從機(jī)發(fā)送通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_slave_transmit函數(shù)為i2c_application.c文件所提供的應(yīng)用層接口函數(shù),參數(shù)包括:I2C結(jié)構(gòu)體指針、發(fā)送數(shù)據(jù)指針、發(fā)送數(shù)據(jù)字節(jié)數(shù)和函數(shù)超時(shí)時(shí)間。
注:此函數(shù)為Artery所提供的標(biāo)準(zhǔn)從機(jī)發(fā)送函數(shù)。用戶也可根據(jù)前述從機(jī)發(fā)送流程,自行編寫(xiě)從機(jī)發(fā)送函數(shù)。
從機(jī)接收流程
當(dāng)收到數(shù)據(jù)后,RDBF=1,讀取RXDT數(shù)據(jù)寄存器,RDBF被自動(dòng)清零;
重復(fù)步驟2直到所有數(shù)據(jù)接收完成;
等待收到STOP條件,當(dāng)收到STOP條件時(shí),I2C_STS的STOPF置1,將I2C_CLR的STOPC寫(xiě)1,清除STOPF標(biāo)志,傳輸結(jié)束。
圖11. I2C從機(jī)接收流程圖
圖12. I2C從機(jī)接收時(shí)序圖
從機(jī)接收流程軟件接口
從機(jī)接收通過(guò)獨(dú)立的函數(shù)接口實(shí)現(xiàn),如下:
i2c_slave_receive函數(shù)為i2c_application.c文件所提供的應(yīng)用層接口函數(shù),參數(shù)包括:I2C結(jié)構(gòu)體指針、接收數(shù)據(jù)指針、接收數(shù)據(jù)字節(jié)數(shù)和函數(shù)超時(shí)時(shí)間。
注:此函數(shù)為Artery所提供的標(biāo)準(zhǔn)從機(jī)接收函數(shù)。用戶也可根據(jù)前述從機(jī)接收流程,自行編寫(xiě)從機(jī)接收函數(shù)。
I2C配置工具
功能簡(jiǎn)介
I2C配置工具Artery_I2C_Timing_Configuration.exe可以實(shí)現(xiàn)對(duì)主機(jī)和從機(jī)的時(shí)鐘、數(shù)字濾波、模擬濾波配置。
資源準(zhǔn)備
軟件環(huán)境Artery_I2C_Timing_Configuration.exe
圖13. Artery I2C Timing Configuration
使用步驟
選擇芯片型號(hào)
選擇當(dāng)前使用的芯片型號(hào),例如可以選擇AT32F425。
選擇設(shè)備模式
Master:主模式,I2C作為主機(jī);
Slave:從模式,I2C作為從機(jī)。
選擇I2C速度模式
Standard-mode:標(biāo)準(zhǔn)模式,范圍0~100kHz;
Fast-mode:快速模式,范圍0~400kHz;
Fast-mode Plus:增強(qiáng)快速模式,范圍0~1000kHz。
設(shè)置I2C速度(單位kHz)
根據(jù)實(shí)際需求設(shè)置I2C通信速度,例如需要通信速度為10kHz,那么這里設(shè)置為10。
設(shè)置I2C時(shí)鐘源頻率(單位kHz)
根據(jù)實(shí)際使用的I2C時(shí)鐘源頻率來(lái)配置,例如AT32425 I2C時(shí)鐘源為PCLK1,當(dāng)AT32425主頻為144MHz,APB1為144MHz時(shí),這里設(shè)置為144000。
模擬濾波使能
On:打開(kāi);
Off:關(guān)閉。
模擬濾波使能后,將過(guò)濾50ns以下的脈沖。
數(shù)字濾波(范圍0~15)
數(shù)字濾波時(shí)間=數(shù)字濾波值xTI2C_CLK;
其中TI2C_CLK=1/I2C時(shí)鐘源頻率。
當(dāng)值為0時(shí),數(shù)字濾波關(guān)閉,當(dāng)值>0時(shí)將過(guò)濾小于數(shù)字濾波時(shí)間的脈沖。
上升時(shí)間(tr單位ns)
SCL和SDA總線的上升沿,如圖18所示。I2C協(xié)議中規(guī)定了在標(biāo)準(zhǔn)模式(Standard-mode)、
快速模式(Fast-mode)、增強(qiáng)快速模式(Fast-mode Plus)下的范圍,詳情請(qǐng)參照表1。上升時(shí)間和上拉電阻的阻值關(guān)系很大,上拉電阻越小,上升時(shí)間越短,可以支持的通信速度就越快,但是功耗也越高。
表2中給出了一些常用上拉電阻阻值所對(duì)應(yīng)的上升沿時(shí)間,實(shí)際可能會(huì)因?yàn)榭偩€掛的設(shè)備數(shù)量、布線等差異而有所不同,僅供參考。
下降時(shí)間(tf單位ns)
SCL和SDA總線的下降沿,如圖18所示。I2C協(xié)議中規(guī)定了在標(biāo)準(zhǔn)模式(Standard-mode)、快速模式(Fast-mode)、增強(qiáng)快速模式(Fast-mode Plus)下的范圍,詳情請(qǐng)參照表1。
圖14. 上升沿(tr)下降沿(tf)規(guī)范
表1. I2C時(shí)間規(guī)范
表2. 常用上拉電阻阻值的tr、tf參考值(VDD=3.3V)
注:該值是總線上連接兩片AT32MCU,一個(gè)作為主機(jī),一個(gè)作為從機(jī)測(cè)試出來(lái)的值,實(shí)際可能會(huì)因?yàn)榭偩€掛的設(shè)備數(shù)量、布線等差異而有所不同。
產(chǎn)生代碼
點(diǎn)擊產(chǎn)生代碼,上訴配置的值,將會(huì)以代碼的形式產(chǎn)生出來(lái),如下圖紅框所示,只需要將右側(cè)輸出的代碼替換到自己的程序即可。
圖15. 代碼產(chǎn)生
審核編輯:湯梓紅
-
總線
+關(guān)注
關(guān)注
10文章
2906瀏覽量
88451 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
101036 -
I2C接口
+關(guān)注
關(guān)注
1文章
125瀏覽量
25394 -
雅特力
+關(guān)注
關(guān)注
0文章
168瀏覽量
8153 -
AT32
+關(guān)注
關(guān)注
1文章
118瀏覽量
2180
原文標(biāo)題:AT32講堂057 | 雅特力AT32F425 I2C使用指南
文章出處:【微信號(hào):AT32 MCU 雅特力科技,微信公眾號(hào):AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
I2C總線應(yīng)用實(shí)例分析
雅特力AT32F402/F405時(shí)鐘配置
![<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405時(shí)鐘配置](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TPS650860 I2C可配置系統(tǒng)的PMIC用戶指南
![TPS650860 <b class='flag-5'>I2C</b>可配置系統(tǒng)的PMIC用戶<b class='flag-5'>指南</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TMS320C6000 DSP內(nèi)部集成電路(I2C)模塊參考指南
![TMS320<b class='flag-5'>C</b>6000 DSP內(nèi)部集成電路(<b class='flag-5'>I2C</b>)模塊參考<b class='flag-5'>指南</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
雅特力AT32F402/F405 I2C使用指南
![<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405 <b class='flag-5'>I2C</b><b class='flag-5'>使用指南</b>](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
光隔離器選擇指南:TPS2384 I2C接口
![光隔離器選擇<b class='flag-5'>指南</b>:TPS2384 <b class='flag-5'>I2C</b>接口](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AT32講堂087 | 雅特力AT32 IDE快速入門(mén)指南
![AT32講堂087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32 IDE快速入門(mén)<b class='flag-5'>指南</b>](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓
什么是I2C協(xié)議 I2C總線的控制邏輯
![什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯](https://file1.elecfans.com/web2/M00/C3/E6/wKgZomXvre-AWsW5AABL2e5FJAM091.png)
雅特力AT32F423 GPIO使用指南
![<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423 GPIO<b class='flag-5'>使用指南</b>](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
GD32 MCU硬件I2C不可靠不如軟件I2C?來(lái)看看紅楓派開(kāi)發(fā)版的硬件I2C驅(qū)動(dòng)如何做到穩(wěn)得一批
![GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來(lái)看看紅楓派開(kāi)發(fā)版的硬件<b class='flag-5'>I2C</b>驅(qū)動(dòng)如何做到穩(wěn)得一批](https://file1.elecfans.com/web2/M00/C0/B0/wKgZomXX9t2ASd-vAAAsUI3H9oQ881.png)
雅特力AT32F423 I2C使用指南
![<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423 <b class='flag-5'>I2C</b><b class='flag-5'>使用指南</b>](https://file.elecfans.com/web2/M00/42/9C/pYYBAGJ5xmyARrXXAAALuRDQWfU330.jpg)
評(píng)論