91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

STM32的硬件I2C不好用,這是一份關于基于STM32的模擬I2C代碼

資源截圖

代碼片段和文件信息

#include?“I2C.h“
#include?“stm32f10x.h“
#include?“delay.h“
void?i2c_init(void)
{
GPIO_InitTypeDef?GPIO_Init_Structure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOBENABLE);
GPIO_Init_Structure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;
GPIO_Init_Structure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init_Structure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB&GPIO_Init_Structure);
GPIO_SetBits(GPIOBGPIO_Pin_6|GPIO_Pin_7);
}

//產生IIC起始信號
void?IIC_Start(void)
{
SDA_OUT();?????//sda線輸出
IIC_SDA=1; ?? ??
IIC_SCL=1;
delay_us(4);
? IIC_SDA=0;//START:when?CLK?is?highDATA?change?form?high?to?low?
delay_us(4);
IIC_SCL=0;//鉗住I2C總線,準備發送或接收數據?
}

//產生IIC停止信號
void?IIC_Stop(void)
{
SDA_OUT();//sda線輸出
IIC_SCL=0;
IIC_SDA=0;//STOP:when?CLK?is?high?DATA?change?form?low?to?high
? delay_us(4);
IIC_SCL=1;?
IIC_SDA=1;//發送I2C總線結束信號
delay_us(4); ???
}

//等待應答信號到來
//返回值:1,接收應答失敗
//????????0,接收應答成功
u8?IIC_Wait_Ack(void)
{
u8?ucErrTime=0;?
IIC_SDA=1;delay_us(1);
SDA_IN();??????//SDA設置為輸入 ???
IIC_SCL=1;delay_us(1);? ?
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
//IIC_Stop();
return?1;
}
}
IIC_SCL=0;//時鐘輸出0? ???
return?0;??
}

void?IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=0;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
}

void?IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
}

void?IIC_Send_Byte(u8?txd)
{????????????????????????
????u8?t;???
SDA_OUT();? ????
????IIC_SCL=0;//拉低時鐘開始數據傳輸
????for(t=0;t<8;t++)
????{??????????????
????????//IIC_SDA=(txd&0x80)>>7;
if((txd&0x80)>>7)
IIC_SDA=1;
else
IIC_SDA=0;
txd<<=1;? ??
delay_us(2);???//對TEA5767這三個延時都是必須的
IIC_SCL=1;
delay_us(2);?
IIC_SCL=0;
delay_us(2);
????} ?
}?

u8?IIC_Read_Byte(void?)
{
unsigned?char?ireceive=0;
SDA_IN();//SDA設置為輸入
????for(i=0;i<8;i++?)
{
????????IIC_SCL=0;?
????????delay_us(2);
IIC_SCL=1;
????????receive<<=1;
????????if(READ_SDA)receive++;???
delay_us(2);?
????}
return?receive;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2206??2014-12-13?22:51??I2C(模擬)\I2C.c

?????文件????????494??2014-12-13?22:28??I2C(模擬)\I2C.h

?????目錄??????????0??2015-02-20?15:17??I2C(模擬)

-----------?---------??----------?-----??----

?????????????????2700????????????????????3


評論

共有 條評論