日韩欧美国产亚洲一区-国产一区二区欧美在线观看-国产日韩欧美高清视频在线-国产亚洲精品aaa在线播放-国产视频在线免费观看-国产欧美日韩综合在线视频-国产高清不卡视频在线播放-91最新视频在线观看-欧美日韩国产在线观看一区二区三区-国产欧美一区二区-亚洲国产综合第一页-超碰动漫-高清中文字幕-精品网站999www-欧美日韩国产在线资源-97资源免费视频总站-国产视频一区二区三区在线观看-久久久久成人网-超爱碰在线资源-99中文字幕一区二区-亚洲国产精品成人午夜在线观看-日韩欧美在线观看一区-91日韩欧美在线-国产v亚洲v日韩v欧美v天堂v-亚洲 免费 高清-国产成人91久久精品-五月天婷婷国产精品-国产99视频在线观看-97午夜视频-五月婷婷激情

STM32學(xué)習(xí)之I2C

I2C總線是由NXP(原PHILIPS)公司設(shè)計,有十分簡潔的物理層定義,其特性如下:

  • 只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL;
  • 每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器;
  • 它是一個真正的多主機(jī)總線,如果兩個或更多主機(jī)同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞;
  • 串行的8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s;
  • 連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制。

其典型的接口連線如下:

STM32學(xué)習(xí)之I2C

 

I2C的協(xié)議很簡單:

 

數(shù)據(jù)的有效性

在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL 線的時鐘信號是低電平時才能改變 。

 

起始和停止條件

SCL 線是高電平時,SDA 線從高電平向低電平切換,這個情況表示起始條件;

SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。

 

字節(jié)格式

發(fā)送到SDA 線上的每個字節(jié)必須為8 位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后必須處理一個響應(yīng)位。

 

應(yīng)答響應(yīng)

數(shù)據(jù)傳輸必須帶響應(yīng),相關(guān)的響應(yīng)時鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時鐘脈沖期間發(fā)送器釋放SDA 線(高)。

在響應(yīng)的時鐘脈沖期間,接收器必須將SDA 線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平。

也就是說主器件發(fā)送完一字節(jié)數(shù)據(jù)后要接收一個應(yīng)答位(低電平),從器件接收完一個字節(jié)后要發(fā)送一個低電平。

 

尋址方式(7位地址方式)

 

第一個字節(jié)的頭7 位組成了從機(jī)地址,最低位(LSB)是第8 位,它決定了傳輸?shù)??普通的和帶重復(fù)開始條件的7位地址格式方向。第一個字節(jié)的最低位是

“0”,表示主機(jī)會寫信息到被選中的從機(jī);

“1”表示主機(jī)會向從機(jī)讀信息。

當(dāng)發(fā)送了一個地址后,系統(tǒng)中的每個器件都在起始條件后將頭7 位與它自己的地址比較,如果一樣,器件會判定它被主機(jī)尋址,至于是從機(jī)接收器還是從機(jī)發(fā)送器,都由R/W 位決定。

 

仲裁

 

I2C是所主機(jī)總線,每個設(shè)備都可以成為主機(jī),但任一時刻只能有一個主機(jī)。

 

stm32至少有一個I2C接口,提供多主機(jī)功能,可以實現(xiàn)所有I2C總線的時序、協(xié)議、仲裁和定時功能,支持標(biāo)準(zhǔn)和快速傳輸兩種模式,同時與SMBus 2.0兼容。

 

 

本實驗直接操作寄存器實現(xiàn)對I2C總線結(jié)構(gòu)的EEPROM AT24c02的寫入和讀取。AT24c02相關(guān)操作詳見?單片機(jī)讀取EEPROM(AT24C02)。

 

庫函數(shù)實現(xiàn)使用stm32的兩個I2C模擬I2C設(shè)備間的數(shù)據(jù)收發(fā),并通過串口查看數(shù)據(jù)交換情況。

 

直接操作寄存器

 

首先需要配置I2C接口的時鐘,相關(guān)寄存器如下:

 

I2C_CR2寄存器低五位:

FREQ[5:0]:I2C模塊時鐘頻率 ,必須設(shè)置正確的輸入時鐘頻率以產(chǎn)生正確的時序,允許的范圍在2~36MHz之間:

000000:禁用 ??? ? 000001:禁用 ? ? ? 000010:2MHz ??? ? … ??? ? 100100:36MHz ??? ? 大于100100:禁用。

 

用于設(shè)置I2C設(shè)備的輸入時鐘,本例使用的是PLCK1總線上的時鐘所以為36Mhz;

 

時鐘控制寄存器(I2C_CCR)低12位:

CCR[11:0]:快速/標(biāo)準(zhǔn)模式下的時鐘控制分頻系數(shù)(主模式),該分頻系數(shù)用于設(shè)置主模式下的SCL時鐘。

在I2C標(biāo)準(zhǔn)模式或SMBus模式下:

Thigh = CCR ×TPCLK1

Tlow = CCR ×TPCLK1

 

時鐘周期為 T = Thigh + Tlow;

 

例如:在標(biāo)準(zhǔn)模式下,F(xiàn)REQR = 36 即36Mhz,產(chǎn)生200kHz的SCL的頻率

 

時鐘控制分頻系數(shù) ?= Freqr /2/f ? ?f 為想得到的頻率

 

配置好時鐘,還需要配置本機(jī)地址,I2C支持7位地址和10位地址,這里用的是7位地址:

自身地址寄存器1(I2C_OAR1)[7:1]:接口地址,地址的7~1位

暫無評論,快來搶沙發(fā)吧!

發(fā)表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標(biāo)記

主站蜘蛛池模板: 国外调教视频网站 | 免费看污片 | 欧美另类xxx | 国产精品99久久久久久武松影视 | 中文字幕一区二区三区乱码不卡 | 五月婷婷中文字幕 | 午夜精品久久一牛影视 | 国产日韩精品一区二区三区在线 | 亚洲成av片人久久久 | 天天干com| 91av原创| 91视频a| 99精品欧美一区二区三区黑人哦 | 免费观看一级视频 | 久久公开视频 | 午夜电影一区 | 欧美在线视频一区二区三区 | 91在线看视频 | 91视频免费网站 | bayu135国产精品视频 | 国产情侣一区 | 婷婷综合av| 在线观看国产日韩 | 天天碰天天操视频 | 在线观看亚洲精品 | 丁香婷婷基地 | 久久久久中文字幕 | 欧美日韩高清一区二区 国产亚洲免费看 | 奇米网网址 | 国产伦精品一区二区三区四区视频 | 91精品国产91久久久久 | 成人在线观看资源 | 亚洲激情六月 | 狠狠色免费| 欧美电影在线观看 | 97色涩 | 黄色毛片大全 | 99视频在线精品国自产拍免费观看 | 99久久精品免费看国产麻豆 | 福利视频在线看 | 美腿丝袜一区二区三区 | 伊人资源视频在线 | 亚洲精品456在线播放第一页 | 免费av小说 | 国产精品久久久久久久久久尿 | 国产1区在线观看 | 视频一区二区三区视频 | 精品国产自在精品国产精野外直播 | av免费电影在线观看 | 日韩电影在线观看一区 | 91在线九色 | 激情综合色综合久久 | 黄色软件在线看 | 国产又粗又猛又爽又黄的视频先 | 91亚洲夫妻 | 精品日韩在线一区 | 久久一区二区三区日韩 | 高清av网 | 99精品视频免费在线观看 | 久草在线电影网 | 免费在线观看不卡av | 中文字幕在线观看亚洲 | 国产精品99精品 | 国产精品理论片在线观看 | 国产精品视频免费看 | 草久久精品 | 亚洲视频www| 久久免费一级片 | 成人黄色大片在线免费观看 | 国产视频在线播放 | 91 在线视频播放 | 亚洲国产片色 | 久久99国产精品久久 | 国产一区二区三区高清播放 | 日韩欧美网址 | 九九免费在线观看 | 免费观看xxxx9999片 | 久久久国产在线视频 | 精品在线播放 | 日韩美一区二区三区 | 在线观看黄a | 最新国产精品视频 | 伊人夜夜| 久久99久久99久久 | 婷婷六月丁香激情 | 色综合天天综合在线视频 |