日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 硬件平臺:STM32F401編輯器 : keil 5.18操作系統(tǒng):win7一、I2C協(xié)議在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL 線的時鐘信號是低電平時才能改變 。起始和停

硬件平臺:STM32F401

編輯器 : keil 5.18

操作系統(tǒng):win7


一、I2C協(xié)議

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


起始和停止條件

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

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


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


  第一個字節(jié)的頭7 位組成了從機地址,最低位(LSB)是第8 位,它決定了傳輸?shù)?普通的和帶重復(fù)開始條件的7位地址格式方向。第一個字節(jié)的最低位是“0”,表示主機會寫信息到被選中的從機;“1”表示主機會向從機讀信息。當發(fā)送了一個地址后,系統(tǒng)中的每個器件都在起始條件后將頭7 位與它自己的地址比較,如果一樣,器件會判定它被主機尋址,至于是從機接收器還是從機發(fā)送器,都由R/W 位決定。


二、I2C從機模式

1、設(shè)置i2c從地址


I2C_HandleTypeDef I2cHandle;


I2cHandle.Instance = I2C1;

I2cHandle.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;

I2cHandle.Init.ClockSpeed = 400000;

I2cHandle.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;

I2cHandle.Init.DutyCycle = I2C_DUTYCYCLE_16_9;

I2cHandle.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;

I2cHandle.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;

I2cHandle.Init.OwnAddress1 = I2C_ADDRESS;

I2cHandle.Init.OwnAddress2 = 0xFE;


其中如前面介紹,I2C有兩種地址方式,在這里I2C_ADDRESSINGMODE_7BIT是將I2C設(shè)置為7為從機地址模式。OwnAddress1為本設(shè)備I2C地址即我們自己設(shè)置的從機地址,OwnAddress2不需要設(shè)置。

2、I2C引腳與中斷初始化


void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)

{

GPIO_InitTypeDef GPIO_InitStruct;


/* Enable GPIO TX/RX clock */

I2Cx_SCL_GPIO_CLK_ENABLE();

I2Cx_SDA_GPIO_CLK_ENABLE();

/* Enable I2C1 clock */

I2Cx_CLK_ENABLE();


/* Configure peripheral GPIO */

/* I2C TX GPIO pin configuration */

GPIO_InitStruct.Pin = I2Cx_SCL_PIN;

GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;

GPIO_InitStruct.Pull = GPIO_PULLUP;

GPIO_InitStruct.Speed = GPIO_SPEED_FAST;

GPIO_InitStruct.Alternate = I2Cx_SCL_AF;


HAL_GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStruct);


/* I2C RX GPIO pin configuration */

GPIO_InitStruct.Pin = I2Cx_SDA_PIN;

GPIO_InitStruct.Alternate = I2Cx_SDA_AF;


HAL_GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStruct);


/* Configure the NVIC for I2C */

/* NVIC for I2C1 */

HAL_NVIC_SetPriority(I2Cx_ER_IRQn, 0, 2);

HAL_NVIC_EnableIRQ(I2Cx_ER_IRQn);

HAL_NVIC_SetPriority(I2Cx_EV_IRQn, 0, 1);

HAL_NVIC_EnableIRQ(I2Cx_EV_IRQn);

}


三、從發(fā)送


uint8_t aTxBuffer[] = "....hello world....";


while (1)

{

if(HAL_I2C_Slave_Transmit_IT(&I2cHandle, (uint8_t*)aTxBuffer, TXBUFFERSIZE+1)!= HAL_OK)

{

/* Transfer error in transmission process */

Error_Handler();

}

HAL_Delay(100);


while (HAL_I2C_GetState(&I2cHandle) != HAL_I2C_STATE_READY)

{

Error_Handler();

}

}


到這里就大功告成了。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

    本文主要介紹的就是基于DM642的視頻采集處理系統(tǒng)中I2C模塊的正確初始化,以及通過I2C總線正確地對視頻解碼芯片SAA7115的寄存器讀/寫程序。   1 I

關(guān)鍵字: dm642 i2c 視頻采集

    串行總線和并行總線相比具有結(jié)構(gòu)簡單、占用引腳少、成本低的優(yōu)點。常見的串行總線有USB、IEEE1394、I2C等,其中I2C總線具有使用簡單的特點,在單片機、串行E2P

關(guān)鍵字: vhdl i2c 串行總線

  I2C簡介   I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。主器件用于啟動總線傳送數(shù)據(jù),并產(chǎn)生時鐘以開

關(guān)鍵字: Arduino i2c

本項目開發(fā)了一個使用 Xilinx 公司的 SPARTAN3A-DSP FPGA 作為目標開發(fā)板,采集數(shù)字和模擬傳感器數(shù)據(jù),并將傳感器數(shù)據(jù)采用 I2C 接口與上級無線傳感器網(wǎng)絡(luò)進行通信的環(huán)境監(jiān)測

關(guān)鍵字: i2c 無線傳感器網(wǎng)絡(luò) 環(huán)境監(jiān)測

2020年6月17日-國內(nèi)領(lǐng)先的信號鏈芯片及其解決方案提供商蘇州納芯微電子股份有限公司(以下簡稱“納芯微”)日前宣布推出五款I(lǐng)2C總線接口類芯片產(chǎn)品。

關(guān)鍵字: i2c 納芯微 接口產(chǎn)品

0 引 言   當前汽車音響與高保真的立體聲音響系統(tǒng)中都包含了微處理器電路單元,這為實現(xiàn)音頻處理提供了控制接口,可以通過控制接口實現(xiàn)許多需要的功能控制。作為音響系統(tǒng)主體的音頻處理電路性能直接決定了整

關(guān)鍵字: i2c 總線 音頻處理電路

紅、綠、藍(RGB)LED可用于建筑和舞臺照明系統(tǒng),用以形成明亮的投影色彩——有時會在RGB組合中添加白色LED,從色調(diào)、飽和度和亮度方面擴展色彩范圍(圖1)。無論色彩分量有多少,都必須精確控制

關(guān)鍵字: i2c LED

隨著科學(xué)技術(shù)的發(fā)展,LED技術(shù)也在不斷發(fā)展,為我們的生活帶來各種便利,為我們提供各種各樣生活信息,造福著我們?nèi)祟悺喌轮Z半導(dǎo)體公司(AnalogDevices,Inc.,簡稱ADI)宣布推出PowerbyLinear&#...

關(guān)鍵字: i2c led驅(qū)動器 電源技術(shù)解析 powerbylinear

我們都知道I2C總線是由Philips公司開發(fā)的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。

關(guān)鍵字: i2c spi uart 總線與接口
關(guān)閉