日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

1.iic介紹:


iic (Inter_Integrated Circuit)集成電路總線,是一種二線制的同步串行總線,一共有著SCL(時(shí)鐘線)和SDA(數(shù)據(jù)線)


2.配置步驟:


<1>:iic的初始化


按照對GPIO口的設(shè)置來配置iic相關(guān)的端口(這里以Stm32F103rc為例)


注:可以使用定義的方法先定義相應(yīng)端口


//IO方向設(shè)置

#define SDA_IN()  {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}//1000 上拉輸入

#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}//0011 推挽輸出(50MHZ)

//IO操作函數(shù)  

#define IIC_SCL    PCout(12) //SCL

#define IIC_SDA    PCout(11) //SDA  

#define READ_SDA   PCin(11)  //輸入SDA 


void IIC_Init(void)

{      

GPIO_InitTypeDef GPIO_InitStructure;

//RCC->APB2ENR|=1<<4;//先使能外設(shè)IO PORTC時(shí)鐘 

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE ); //使能GPIOC時(shí)鐘

//IIC SCL(PC12)IIC SDA(PC11)   

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_11;//change the channel

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽輸出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure);

 

IIC_SCL=1;//初始化拉高SCL

IIC_SDA=1;//初始化拉高SDA

}

在初始化的時(shí)候,SDA和SCL都置為1,表示拉高閑置狀態(tài)


<2>:產(chǎn)生起始信號

先將SDA和SCL置高,然后在SDA拉低時(shí)進(jìn)行延時(shí),然后將SCL拉低


void IIC_Start(void)

{

SDA_OUT();     //sda線輸出 0011 

IIC_SDA=1;     

IIC_SCL=1;

delay_us(4);//保持SCL穩(wěn)定

  IIC_SDA=0;// SDA開始從高向低跳變

delay_us(4);

IIC_SCL=0;//鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) 

}   


<3>產(chǎn)生終止信號


先確定SCL SDA為拉低狀態(tài),然后在SCL拉高的期間實(shí)現(xiàn)SDA的拉高


void IIC_Stop(void)

{

SDA_OUT();//sda線輸出

IIC_SCL=0;

IIC_SDA=0;//準(zhǔn)備進(jìn)行跳變

  delay_us(4);

IIC_SCL=1; 

delay_us(4);

IIC_SDA=1;//發(fā)送I2C總線結(jié)束信號

   

}


<4>:等待信號


設(shè)置等待時(shí)間 如果超過該時(shí)間則發(fā)送失??;


實(shí)現(xiàn)SCL=0 便于下一次數(shù)據(jù)的傳輸

//等待應(yīng)答信號到來,將SCL SDA拉高 等待應(yīng)答

//返回值:1,接收應(yīng)答失敗

//        0,接收應(yīng)答成功

u8 IIC_Wait_Ack(void)//等待跳變值

{

u8 ucErrTime=0;

SDA_IN();      //SDA設(shè)置為輸入  

IIC_SDA=1;delay_us(1);    

IIC_SCL=1;delay_us(1);  

//SCL SDA拉高 等待接收器返回應(yīng)答信號

while(READ_SDA) 

{

ucErrTime++;

if(ucErrTime>250)//如果大于250,說明數(shù)據(jù)無效

{

IIC_Stop();//停止

return 1;//返回,超過相應(yīng)的時(shí)間 接收失敗

}

}

IIC_SCL=0;//鉗位 方便下一次傳輸    

return 0;  


<5>:ACK應(yīng)答(拉低SDA產(chǎn)生應(yīng)答 主機(jī)反饋信號)(升高SDA則不產(chǎn)生應(yīng)答 ))


void IIC_Ack(void)

{

IIC_SCL=0;

SDA_OUT();//主機(jī)接收應(yīng)答信號,相當(dāng)于反饋信號

IIC_SDA=0;

delay_us(2);

IIC_SCL=1;

delay_us(2);

IIC_SCL=0;

//保證SDA為低的時(shí)候產(chǎn)生應(yīng)答

}

void IIC_NAck(void)

{

IIC_SCL=0;

SDA_OUT();

IIC_SDA=1;

delay_us(2);

IIC_SCL=1;

delay_us(2);

IIC_SCL=0;

//保證SDA為高的時(shí)候不產(chǎn)生應(yīng)答

}


<6>發(fā)送字節(jié)(使用循環(huán)發(fā)送8字節(jié),拉低SCL位實(shí)現(xiàn)字節(jié)的傳輸)

//IIC發(fā)送一個(gè)字節(jié)

//返回從機(jī)有無應(yīng)答

//1,有應(yīng)答

//0,無應(yīng)答

//SCL在高電平的時(shí)候 無法改變SDA的數(shù)據(jù) 

//SCL為低電平的時(shí)候 可以改變SDA的數(shù)據(jù)   

void IIC_Send_Byte(u8 txd)

{                        

    u8 t;   

SDA_OUT();     

    IIC_SCL=0;//拉低時(shí)鐘開始數(shù)據(jù)傳輸

    for(t=0;t<8;t++)

    {              

        IIC_SDA=(txd&0x80)>>7;//獲取最高位 然后移七位到達(dá)最低位

        txd<<=1;   

delay_us(2);   //對TEA5767這三個(gè)延時(shí)都是必須的

IIC_SCL=1;

delay_us(2); 

IIC_SCL=0; //等待下一次數(shù)據(jù)發(fā)送

delay_us(2);

    }  

}     

<7>:讀取字節(jié),通過標(biāo)志位主機(jī)是否應(yīng)答(SCL=1開始讀字節(jié))


//讀1個(gè)字節(jié),ack=1時(shí),發(fā)送ACK,ack=0,發(fā)送nACK   

u8 IIC_Read_Byte(unsigned char ack)

{

unsigned char i,receive=0;

SDA_IN();//SDA設(shè)置為輸入

    for(i=0;i<8;i++ )

{

        IIC_SCL=0; 

        delay_us(2);

IIC_SCL=1;//SCL為高電平的時(shí)候開始讀取信號

        receive<<=1;

        if(READ_SDA)receive++; //最低位+1;

delay_us(1); 

    }  

    if (!ack)

        IIC_NAck();//發(fā)送nACK

    else

        IIC_Ack(); //發(fā)送ACK   

    return receive;

}


時(shí)序圖還是很重要的?。?!

關(guān)鍵字:Stm32  iic  初始化介紹 引用地址:Stm32 iic初始化介紹

上一篇:STM32 串口通信(庫函數(shù)操作)
下一篇:STM32 SPI筆記(基于寄存器)

推薦閱讀

近日,工信部發(fā)布擬公告的符合《工業(yè)機(jī)器人行業(yè)規(guī)范條件》的企業(yè)名單,根據(jù)《工業(yè)機(jī)器人行業(yè)規(guī)范條件》(工業(yè)和信息化部公告2016年第65號公告)和《工業(yè)和信息化部關(guān)于印發(fā)<工業(yè)機(jī)器人行業(yè)規(guī)范管理實(shí)施辦法>的通知》(工信部裝〔2017〕161號)要求,經(jīng)審核共有北京賽佰特科技有限公司等15家企業(yè)符合《工業(yè)機(jī)器人行業(yè)規(guī)范條件》,名單如下:
隨著手機(jī)以及電視機(jī)硬件紅利觸頂,傳統(tǒng)的手機(jī)廠商以及電視廠商紛紛轉(zhuǎn)舵,開始試水OTT服務(wù)領(lǐng)域,其中彩電領(lǐng)域前三的玩家創(chuàng)維、TCL、海信分別推出互聯(lián)網(wǎng)品牌,以酷開、雷鳥、海信形成三國割據(jù)的行業(yè)狀態(tài)。  值得注意的是,以硬件成為手機(jī)界霸主的蘋果,在經(jīng)歷2018年的失利后,也開始了“由硬變軟”的進(jìn)程。2019年3月26日,蘋果公司召開的春季發(fā)布會,推出...
開發(fā)板數(shù)碼管模塊電路圖如下:由于74ls138譯碼器的特點(diǎn),即只能是一個(gè)數(shù)碼管的陰極電平為0,顯然不能使多個(gè)數(shù)碼管同時(shí)工作,若想要得到多個(gè)數(shù)碼管同時(shí)工作的效果,只能采用動(dòng)態(tài)掃描顯示的方式。所謂動(dòng)態(tài)掃描顯示,就是利用發(fā)光管的余輝和人眼視覺暫留作用,使人感覺好像多個(gè)數(shù)碼管在同時(shí)工作。程序中digdisplay函數(shù)利用for循環(huán)和switch語句,不斷掃描8個(gè)數(shù)...
蘋果首席執(zhí)行官蒂姆·庫克表示,盡管去年 11 月才發(fā)布,但搭載 M1 處理器的 MacBook Air、MacBook Pro 和 Mac mini 的銷量現(xiàn)在占據(jù)了 Mac 銷量的大部分,超過了搭載英特爾處理器的 Mac 電腦。庫克是在昨天舉行的發(fā)布會上透露上述信息的。在發(fā)布會上,庫克介紹了一款完全重新設(shè)計(jì)的 24 英寸 iMac,這款 iMac 搭載了蘋果的 M1 芯片。...

史海拾趣

問答坊 | AI 解惑

avr單片機(jī)應(yīng)用開發(fā)典型實(shí)例cd

avr單片機(jī)應(yīng)用開發(fā)典型實(shí)例cd…

查看全部問答∨

DS18B20溫度傳感器使用

DS18B20比一般熱敏電阻系數(shù)要好,輸出的是一個(gè)變化電壓信號,穩(wěn)定…

查看全部問答∨

高速M(fèi)OSFET 驅(qū)動(dòng)電路設(shè)計(jì)

DC-DC用的高速M(fèi)OSFET 驅(qū)動(dòng)電路設(shè)計(jì)!TI的文檔,從MOSFET內(nèi)部開始,講的比較詳細(xì)!…

查看全部問答∨

ADS的不能設(shè)置調(diào)試的問題

我的ADS1.2中設(shè)置不了生成目標(biāo)的方式,請問在哪里設(shè)置?看書上講的是在左上角的下拉框里應(yīng)該有的,可是我的只有我自己設(shè)置成TARGERT的名字一個(gè)選項(xiàng),請問在哪里設(shè)置?是不是我的ADS裝的不全啊?各位有沒有遇到過類似的問題?…

查看全部問答∨

Wince能否像桌面系統(tǒng)一樣設(shè)置path=

Wince能否像桌面系統(tǒng)一樣設(shè)置path路徑?…

查看全部問答∨

Android2.2試跑成功,來發(fā)幾張效果圖

Google于6月24日發(fā)布了Android操作系統(tǒng)的2.2版本,代號為Froyo, 深圳市友堅(jiān)恒天科技有限公司也迅速成功移植了該版本到開發(fā)板上,發(fā)幾張圖片                 來源:友堅(jiān)科技官網(wǎng)http://www ...…

查看全部問答∨

MSP430的PWM產(chǎn)生模塊

想請教下MSP430的PWM產(chǎn)生模塊,是什么特別的地方嗎? 目前想用MSP430產(chǎn)生3個(gè)不同時(shí)序的信號…

查看全部問答∨

msp430要火了 初學(xué)者看看

http://processors.wiki.ti.com/index.php/Grace_Quick_Start_Guide#How_do_I_get_Grace.3F…

查看全部問答∨

關(guān)于TLV5638的問題

本帖最后由 paulhyde 于 2014-9-15 04:03 編輯 用TLV5638輸出兩路電壓,在給恒定值的情況下兩路都正常輸出,而用鍵盤輸入輸出值時(shí),A路可以根據(jù)所輸?shù)碾妷狠敵?,而B路只輸出第一次給的電壓值,這是什么原因,求會用的幫幫忙! 程序如下,鍵盤液晶 ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved