📄 ib.h
字号:
/*
*********************************************************************************************************
*Copyright(c)2005,广东必达保安系统有限公司电子开发部
*All rights rerserved
*
*文件名称:ib.h
*文件标识:
*摘 要:Dallas iB的IAR V3.20A 底层协议包
*
*当前版本:1.0
*作 者:钱少群
*完成日期:2006年06月20日
*
*取代版本:
*作 者:
*完成日期:
*
*********************************************************************************************************
*/
///////////////////////////////////////////////////
// DS19XX 常量宏定义
///////////////////////////////////////////////////
#define IBREADROM 0x33 //read rom command
#define IBSKIPROM 0xCC //skip rom command
#define IBREADSUBKEY 0x66 //read subkey command
#define IBWRITESUBKEY 0x99 //write subkey command
#define IBREADMEMORY 0xF0 //read memory command
#define IBWRITESCRATCHPAD 0x0F //write scratchpad command
#define IBREADSCRATCHPAD 0xAA //read scratchpad command
#define IBCOPYSCRATCHPAD 0x55 //copy scratchpad command
///////////////////////////////////////////////////
// DS19XX 函数选择宏定义
///////////////////////////////////////////////////
#define TMROM 1 //读 DS19XX ID
#define TMRDS 0 //读 DS1991 subkey
#define TMWRS 0 //写 DS1991 subkey
#define TM1994 0 //读 DS1994 时钟
#define TMRDP1904 1 //读 DS1904 时钟
#define TMWRP1904 1
#define TMRDP 1 //读 DS1996 页
#define TMWRP 1 //写 DS1996 页
#define TMRD71 0 //读 DS1971 页
///////////////////////////////////////////////////
// DS19XX 引脚宏定义
///////////////////////////////////////////////////
#define TM 2 //DS19XX 数据线
#define DDRTM DDRD //
#define PORTTM PORTD //
#define PINTM PIND //
///////////////////////////////////////////////////
// IB函数声明
///////////////////////////////////////////////////
#if TMROM
unsigned char Tm_Rom(unsigned char *idBuf); //读 DS19XX ID
#endif
#if TMRDS
unsigned char Tm_Rds(unsigned char adr,
unsigned char *idBuf,
unsigned char *passwordBuf,
unsigned char *dataBuf,
unsigned char n); //读 DS1991 subkey
#endif
#if TMWRS
unsigned char Tm_Wrs(unsigned char adr,
unsigned char *idBuf,
unsigned char *passwordBuf,
unsigned char *dataBuf,
unsigned char n); //写 DS1991 subkey
#endif
#if TM1994
unsigned char Tm_1994(unsigned char *timeBuf); //读 DS1994 时钟
#endif
#if TMWRP1904
unsigned char Tm_Wrp1904(unsigned char *dataBuf);
#endif
#if TMRDP1904
unsigned char Tm_Rdp1904(unsigned char *dataBuf);//读 DS1904 时钟
#endif
#if TMRDP
unsigned char Tm_Rdp(unsigned char adrHigh,
unsigned char adrLow,
unsigned char *dataBuf,
unsigned char n); //读 DS1996 页
#endif
#if TMWRP
unsigned char Tm_Wrp(unsigned char adrHigh,
unsigned char adrLow,
unsigned char *dataBuf,
unsigned char n); //写 DS1996 页
#endif
#if TMRD71
unsigned char Tm_Rd71(unsigned char adr,
unsigned char *dataBuf,
unsigned char n); //读 DS1971 页
#endif
///////////////////////////////////////////////////
// DS19XX 时序操作
///////////////////////////////////////////////////
unsigned char Tm_Rst(void); //DS19XX 复位时序
void Tm_Txd(unsigned char valTx); //DS19XX 发送字节时序
unsigned char Tm_Rxd(void); //DS19XX 接收字节时序
unsigned char Tm_Wdrst(void); // DS19XX 看门狗复位时序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -