欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
SHT10傳感器讀取數(shù)據(jù)不成功 最高位亂碼
[打印本頁]
作者:
oyyp
時間:
2018-2-12 22:59
標題:
SHT10傳感器讀取數(shù)據(jù)不成功 最高位亂碼
void tmep_RH_get()
{
value humi_val,temp_val; //定義兩個共同體 溫濕度·
unsigned char error; //用于檢測是否出錯
unsigned char checksum; //CRC
RESET_TX(); //啟動連接復(fù)位·
error=0; //沒有·錯誤
error+=MEASURE_T_RH((unsigned char*)&temp_val.i,&checksum,TEMP); //測量溫度
error+=MEASURE_T_RH((unsigned char*)&humi_val.i,&checksum,HUMI); //測量濕度
if(error!=0) RESET_TX(); //發(fā)生錯誤則復(fù)位
else
{
humi_val.f=(float)humi_val.i; //轉(zhuǎn)換為浮點數(shù)
temp_val.f=(float)temp_val.i;
calc(&humi_val.f,&temp_val.f); //修正溫濕度
temp=temp_val.f*10;
humi=humi_val.f*10;
TEMP1[0]=temp/1000;
TEMP1[1]=temp%1000/100;
TEMP1[2]=temp%100/10;
TEMP1[3]=temp%10;
RH[0]=humi/1000;
RH[1]=humi%1000/100;
RH[2]=humi%100/10;
RH[3]=humi%10;
}
}
作者:
lvpb5252
時間:
2018-2-24 17:55
最高位亂碼是什么意思?一個bit,非零即一啊。
如果你說的是 TEMP1[0]或RH[0],從代碼上是沒有問題的,你要確認temp和humi的值是否正確,
可能性更大的是存在數(shù)組越界操作了TEMP1[0]/RH[0]。你可以從TEMP[1]開始存數(shù)據(jù)看看情況。
作者:
ssdk
時間:
2018-2-26 15:15
你好,現(xiàn)在SHT10今年就要停產(chǎn)了,你這里怎么還用這個產(chǎn)品呢,
作者:
ssdk
時間:
2018-2-26 15:16
SHT10這個產(chǎn)品,今年就要停產(chǎn)了,怎么還選這個呢
作者:
nemo11
時間:
2019-12-14 11:03
MEASURE_T_RH((unsigned char*)&temp_val.i,&checksum,TEMP); 這個原函數(shù)處理處理錯,返回&temp_val.i為unshigned int 型數(shù)據(jù),參考如下程序:
/********************************************************
SHT11溫濕度檢測
********************************************************/
char s_measure(uint16_t *p_value, uint8_t *p_checksum, uint8_t mode)
{
unsigned error=0;
uint8_t value_H = 0;
uint8_t value_L = 0;
uint16_t i;
s_transstart(); //啟動傳輸
switch(mode) //選擇發(fā)送命令
{
case TEMP : error+=s_write_byte(MEASURE_TEMP); break; //測量溫度
case HUMI : error+=s_write_byte(MEASURE_HUMI); break; //測量濕度
default : break;
}
DATA_IN();
for (i=0;i<65535;i++) if(IN_DATA == 0) break; //等待測量結(jié)束
if(IN_DATA) error+=1; // 如果長時間數(shù)據(jù)線沒有拉低,說明測量錯誤
value_H = s_read_byte(ACK); //讀第一個字節(jié),高字節(jié) (MSB)
value_L = s_read_byte(ACK); //讀第二個字節(jié),低字節(jié) (LSB)
// *(p_value) = s_read_byte(ACK); //讀第一個字節(jié),高字節(jié) (MSB)
// *(p_value+1) = s_read_byte(ACK); //讀第二個字節(jié),低字節(jié) (LSB)
*p_value = (value_H << 8)| value_L;
*p_checksum = s_read_byte(noACK); //read CRC校驗碼
return error; // error=1 通訊錯誤
}
作者:
無敵小杰杰
時間:
2019-12-14 19:58
試著清零一下看看,或者延時一下
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1