ds18b20.h

来自「这是一个远程温度计 MCU: AT89S52 温度传感器: DS18B20」· C头文件 代码 · 共 41 行

H
41
字号
#ifndef __DS18B20_H__
#define __DS18B20_H__

#include "type.h"

#define DS18B20_DEVICE_ID_LENGTH	8	//byte
typedef union tagDS18B20_DEVICE_ID {
	uchar		buf[8];
	struct{
		uchar	class;
		uint	serialno[3];
		uchar	crc;
	}id;
}DS18B20_ID, *PDS18B20_ID;

typedef union tagDS18B20_SCRATCH{
	uchar		buf[9];
	struct{
		int	temper;
		uchar	alarmbuf[2];
		uchar	config;
		uchar	reserved[3];
		uchar	crc;
	}scratch;
}DS18B20_SCRATCH, *PDS18B20_SCRATCH;


sbit DS18B20_IOPORT = P2 ^ 2;
#define DS18B20_PRECISION_9bit ((0 << 5) | 0x1F)
#define DS18B20_PRECISION_10bit ((1 << 5) | 0x1F)
#define DS18B20_PRECISION_11bit ((2 << 5) | 0x1F)
#define DS18B20_PRECISION_12bit ((3 << 5) | 0x1F)
extern bool DS18B20_DeviceInit(uchar);
extern bool DS18B20_GetScratchStart(void);
extern bool DS18B20_GetScratchReady(void);
extern bool DS18B20_GetScratch(DS18B20_SCRATCH* );
extern bool DS18B20_GetDeviceID(DS18B20_ID* );
extern uchar* DS18B20_GetTemperature(uchar* , DS18B20_SCRATCH*);

#endif //__DS18B20_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?