您好,欢迎光临电子应用网![登录] [免费注册] 返回首页 | | 网站地图 | 反馈 | 收藏
在应用中实践
在实践中成长
  • 应用
  • 专题
  • 产品
  • 新闻
  • 展会
  • 活动
  • 招聘
当前位置:中国电子应用网 > 技术应用 > 正文

ZigBee06协议测温函数注释INT8 getTemperature(void)

2009年10月06日09:56:31 本网站 我要评论(2)字号:T | T | T
关键字:传感器 

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);
}

网友评论:已有2条评论 点击查看
登录 (请登录发言,并遵守相关规定)
如果您对新闻频道有任何意见或建议,请到交流平台反馈。【反馈意见】
关于我们 | 联系我们 | 本站动态 | 广告服务 | 欢迎投稿 | 友情链接 | 法律声明
Copyright (c) 2008-2024 01ea.com.All rights reserved.
电子应用网 京ICP备12009123号-2 京公网安备110105003345号