原创
ZigBee06协议测温函数注释INT8 getTemperature(void)
2009-7-14 11:18
1128
9
9
分类:
消费电子
INT8 getTemperature(void){ UINT8 i; UINT16 accValue; UINT16 value;
accValue = 0; for( i = 0; i < 4; i++ ) //采集ad 4次 { //adc初始化为参考电压1.25v,14bits,通道为内部温度传感器 ADC_SINGLE_CONVERSION(ADC_REF_1_25_V | ADC_14_BIT | ADC_TEMP_SENS);
ADC_SAMPLE_SINGLE(); //启动一次ad while(!ADC_SAMPLE_READY()); //转换完了么?
value = ADCL >> 2; //lsb 的低 2 位 是无效的 ,now value = (adch:adcl)[5:0] value |= (((UINT16)ADCH) << 6); // value|= (adch:adcl)[13:6] accValue += value; //4次之和 } value = accValue >> 2; // devide by 4
// there is a formula between adcvalue & celsius :
// celsius = (adcvalue/16 -315) return ADC14_TO_CELSIUS(value); }
|
更多资料与技术讨论请联系:
上海无线龙通讯科技有限公司
联系人:司文铠
QQ:876692208
MSN:siwenkai@hotmail.com
TEL:13816689475
email:wxlsiwenkai@yahoo.com.cn
skype:sparksi01
公司网址:www.wxlsoc.com
文章评论(0条评论)
登录后参与讨论