uint Temper=0;
while(1)
{
Temper=temp(); //为什么Temper编译时没有值,而且还会说:Temper定义了没有使用
//Temper的只应该是temp();函数的返回值;为什么会这样谁能解释一下
}
**************************
unsigned int temp()
{
uint aaa=0;
uchar ack;
uchar tem1,tem2;
StateI2C();
SHT_Master_byte2(0x80); //地址+写
SHT_Master_byte2(0xf3); //命令:非主机温度测试
do
{
_NOP();
StateI2C();
ack = SHT_Master_byte(0x81); //命令:读取数据。。等待回应
}
while(ack==1);
_NOP();
SHTDA_DIR_IN;
_NOP();
tem1=SHT_Receiver_byte(); //读取数据高八位
_NOP();
SHTDA_DIR_OUT;
Response(0); //单片机回应
SHTDA_DIR_IN;
tem2 = SHT_Receiver_byte(); //读取数据低八位
SHTDA_DIR_OUT;
STOPI2C();
aaa = (aaa|tem1)*256+tem2;
aaa = aaa & 0xfffc;
aaa =(int)( aaa * 0.02681 -468.5); //保留一位小数
return(aaa);
}
|