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

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

硬件平臺(tái):STM32F401

編輯器 : keil 5.18

操作系統(tǒng):win7


一、I2C協(xié)議

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


起始和停止條件

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

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


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


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


二、I2C從機(jī)模式

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為從機(jī)地址模式。OwnAddress1為本設(shè)備I2C地址即我們自己設(shè)置的從機(jī)地址,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)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

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

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

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

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

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

關(guān)鍵字: Arduino i2c

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

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

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

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

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

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

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

關(guān)鍵字: i2c LED

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

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

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

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