zigbee温度读取函数 (cc2530内部)
2013-12-29 12:54
375 查看
#include "Sensor.h"#include <ioCC2530.h> #define HAL_ADC_REF_115V 0x00 #define HAL_ADC_DEC_256 0x20 #define HAL_ADC_CHN_TEMP 0x0e int8 readTemp(void) { static uint16 reference_voltage; static uint8 bCalibrate-TRUE; uint16 value; ATEST= 0x01; //使能温度传感器 TR0 |= 0x01; //连接温度传感器 ADCIF=0; ADCCON3=(HAL_ADC_REF_115V | HAL_ADC_DEC_256 | HAL_ADC_CHN_TEMP); while(!ADCIF); ADCIF=0; value=ADCL; value|=((uint16)ADCH)<<8; value>>=4; if(bCalibrate) //记录第一次读取的温度值,用于校正温度数据 { reference_voltage=value; bCalibrate=FALSE; } temp=22+((value-reference_voltage)/4); //温度校正函数 return temp; }
相关文章推荐
- 字符串转换为整型
- 一种通过jdbc获取数据库结构的方法
- 一个整型数组里除了一个或者两个或者三个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)
- linux下patch的制作和使用
- 无锁HashMap的原理与实现
- [BFS]最简题-抓奶牛
- python最短路径算法,基于dijkstra
- [object] 与 [object object] 区别!
- web api 开发之 filter
- 分析优酷/土豆/pptv/乐视 HTML5、m3u8地址
- 算法练习之水题
- jsp中的表达式
- ubuntu 12 04下安装JDK7
- HTMLDocument3 getElementById Run-Time Check Failure #0
- 1012 Stacking Cylinders
- ADS配置
- Laravel
- java读写串口的简单示例
- mysql的性能配置 -innodb
- 开源IOT——一个最小的物联网系统设计方案及源码