新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2017-9-3
- 在线时间
- 2 小时
|
1金钱
用原子哥的战将V3读取sht10,io用的是pb6,pb7。
//发送数据
u8 SHT10_SendData(u8 data)
{
u8 err = 0;
SDA_OUT();
IIC_SCL=0;
IIC_SDA=0;
for(int i=0;i<8;i++)
{
if((data&0x80)>>7)
{
IIC_SDA=1;
}else
{
IIC_SDA=0;
}
data<<=1; //数据清零
delay_us(1);
IIC_SCL = 1;
delay_us(2);
IIC_SCL = 0;
}
SDA_IN();
err = READ_SDA;
return err;
}
//读取数据
u8 SHT10_ReadData(u8 isAck)
{
SDA_IN();
u8 receive = 0;
for(u8 i=0;i<8;i++)
{
delay_us(1);
IIC_SCL=1;
receive<<=1; //自动补0
if(READ_SDA) //判断数据高还是低
{
receive++;
}
delay_us(2);
IIC_SCL=0;
}
if(isAck)
{
SHT10_Ack();
}else
{
SHT10_NAck();
}
return receive;
}
|
|