亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
IIC協議及STM32中IIC初始化結構體
[打印本頁]
作者:
sane
時間:
2019-11-24 10:38
標題:
IIC協議及STM32中IIC初始化結構體
IIC協議
分為 物理層(硬件)和協議層(軟件) 同步串行通訊方式
物理層(硬件):兩根總線 SDA(數據線) SCL(時鐘線)
每一個連接到總線的設備都有一個獨立的地址(7——10位),主機利用這個地址進行不同設備之間的通訊。
上拉電阻一般接4.7K 實現高阻態 線與
當設備空閑時,輸出高阻態。 高阻態表示邏輯1 地表示邏輯0
電壓為:2-15v
STM32使用時引腳配置為開漏輸出模式
三種傳輸模式:標準模式 傳輸速率100kbps
快速模式 傳輸速率400kbps
高速模式 傳輸速率3.4mbps 但目前大多IIC設備不支持
只要滿足設備傳輸要求 可根據具體情況設置傳輸速率
連接到總線的電容不能超過400pf限制。
協議層(軟件):起始和停止信號、數據有效性、響應、仲裁、時鐘同步和地址廣播的等
主機寫從機讀信號傳輸過程:
起始信號 從機地址 讀寫方向R/nW(主機1讀0寫) 從機產生應答信號給主機 數據傳輸 從機產生應答信號 數據傳輸 判斷是否應答(應答則繼續傳輸數據非應答則停止傳輸) 主機發出停止信號
主機讀從機寫信號傳輸過程:
起始信號 從機地址 讀寫方向R/nW(主機1讀0寫) 從機產生應答信號給主機 數據傳輸 主機產生應答信號 數據傳輸 判斷是否應答(應答則繼續傳輸數據非應答則停止傳輸) 主機發出停止信號
復用信號傳輸數據,兩個起始信號,第一個發送要讀寫寄存器的地址,第二個發送要讀寫的數據
當SCL為高電平時SDA線從高電平向低電平切換表示通訊起始
當SCL為高電平時SDA線從低電平向高電平切換表示通訊結束
SCL的每個時鐘周期傳輸一位數據,SCL高電平SDA數據有效,SCL低電平數據無效,此時SDA數據交換。
軟件模擬協議 硬件實現協議
1、初始化IIC相關的GPIO
2、配置IIC外設的工作模式
3、編寫IIC寫入EEPROM的BYTE write函數
4、編寫IIC讀取EEPROM的RANDOM read函數
5、使用page write 及set read函數并校驗
//IIC初始化結構體
typedef struct
{
uint32_t I2C_ClockSpeed; /*設置SCL時鐘頻率,此值要低于400000*/
uint16_t I2C_Mode; /*指定工作模式,可選IIC和SMBUS模式 */
uint16_t I2C_DutyCycle; /*指定時鐘占空比,可選low/hign = 2:1及16:9模式*/
uint16_t I2C_OwnAddress1; /*指定IIC設備地址*/
uint16_t I2C_Ack; /*使能或關閉響應(一般都要使能)*/
uint16_t I2C_AcknowledgedAddress; /*指定地址長度,可為7為及10為 */
}I2C_InitTypeDef;
//IO口作為輸出方式時,IO口的IDR寄存器有數據
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1