📄 ds2480.h
字号:
//---------------------------------------------------------------------------// Copyright (C) 2000 Dallas Semiconductor Corporation, All Rights Reserved.// // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions:// // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software.// // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES // OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE.// // Except as contained in this notice, the name of Dallas Semiconductor // shall not be used except as stated in the Dallas Semiconductor // Branding Policy. //---------------------------------------------------------------------------//// DS2480.H - This file contains the DS2480 constants//// Version: 2.00//// History: 1.02 -> 1.03 Make sure uchar is not defined twice.// //// Mode Commands#define MODE_DATA 0xE1#define MODE_COMMAND 0xE3#define MODE_STOP_PULSE 0xF1// Return byte value #define RB_CHIPID_MASK 0x1C#define RB_RESET_MASK 0x03#define RB_1WIRESHORT 0x00#define RB_PRESENCE 0x01#define RB_ALARMPRESENCE 0x02 #define RB_NOPRESENCE 0x03#define RB_BIT_MASK 0x03#define RB_BIT_ONE 0x03#define RB_BIT_ZERO 0x00// Masks for all bit ranges #define CMD_MASK 0x80#define FUNCTSEL_MASK 0x60#define BITPOL_MASK 0x10#define SPEEDSEL_MASK 0x0C#define MODSEL_MASK 0x02#define PARMSEL_MASK 0x70#define PARMSET_MASK 0x0E// Command or config bit #define CMD_COMM 0x81#define CMD_CONFIG 0x01// Function select bits #define FUNCTSEL_BIT 0x00#define FUNCTSEL_SEARCHON 0x30#define FUNCTSEL_SEARCHOFF 0x20#define FUNCTSEL_RESET 0x40#define FUNCTSEL_CHMOD 0x60// Bit polarity/Pulse voltage bits #define BITPOL_ONE 0x10#define BITPOL_ZERO 0x00#define BITPOL_5V 0x00#define BITPOL_12V 0x10// One Wire speed bits #define SPEEDSEL_STD 0x00#define SPEEDSEL_FLEX 0x04#define SPEEDSEL_OD 0x08#define SPEEDSEL_PULSE 0x0C// Data/Command mode select bits #define MODSEL_DATA 0x00#define MODSEL_COMMAND 0x02// 5V Follow Pulse select bits (If 5V pulse// will be following the next byte or bit.) #define PRIME5V_TRUE 0x02#define PRIME5V_FALSE 0x00// Parameter select bits #define PARMSEL_PARMREAD 0x00#define PARMSEL_SLEW 0x10#define PARMSEL_12VPULSE 0x20#define PARMSEL_5VPULSE 0x30#define PARMSEL_WRITE1LOW 0x40#define PARMSEL_SAMPLEOFFSET 0x50#define PARMSEL_ACTIVEPULLUPTIME 0x60#define PARMSEL_BAUDRATE 0x70// Pull down slew rate. #define PARMSET_Slew15Vus 0x00#define PARMSET_Slew2p2Vus 0x02#define PARMSET_Slew1p65Vus 0x04#define PARMSET_Slew1p37Vus 0x06#define PARMSET_Slew1p1Vus 0x08#define PARMSET_Slew0p83Vus 0x0A#define PARMSET_Slew0p7Vus 0x0C#define PARMSET_Slew0p55Vus 0x0E// 12V programming pulse time table #define PARMSET_32us 0x00#define PARMSET_64us 0x02#define PARMSET_128us 0x04#define PARMSET_256us 0x06#define PARMSET_512us 0x08#define PARMSET_1024us 0x0A#define PARMSET_2048us 0x0C#define PARMSET_infinite 0x0E// 5V strong pull up pulse time table #define PARMSET_16p4ms 0x00#define PARMSET_65p5ms 0x02#define PARMSET_131ms 0x04#define PARMSET_262ms 0x06#define PARMSET_524ms 0x08#define PARMSET_1p05s 0x0A#define PARMSET_2p10s 0x0C#define PARMSET_infinite 0x0E// Write 1 low time #define PARMSET_Write8us 0x00#define PARMSET_Write9us 0x02#define PARMSET_Write10us 0x04#define PARMSET_Write11us 0x06#define PARMSET_Write12us 0x08#define PARMSET_Write13us 0x0A#define PARMSET_Write14us 0x0C#define PARMSET_Write15us 0x0E// Data sample offset and Write 0 recovery time#define PARMSET_SampOff3us 0x00#define PARMSET_SampOff4us 0x02#define PARMSET_SampOff5us 0x04#define PARMSET_SampOff6us 0x06#define PARMSET_SampOff7us 0x08#define PARMSET_SampOff8us 0x0A#define PARMSET_SampOff9us 0x0C#define PARMSET_SampOff10us 0x0E// Active pull up on time #define PARMSET_PullUp0p0us 0x00#define PARMSET_PullUp0p5us 0x02#define PARMSET_PullUp1p0us 0x04#define PARMSET_PullUp1p5us 0x06#define PARMSET_PullUp2p0us 0x08#define PARMSET_PullUp2p5us 0x0A#define PARMSET_PullUp3p0us 0x0C#define PARMSET_PullUp3p5us 0x0E // Baud rate bits #define PARMSET_9600 0x00#define PARMSET_19200 0x02#define PARMSET_57600 0x04#define PARMSET_115200 0x06// DS2480 program voltage available#define DS2480PROG_MASK 0x20// mode bit flags#define MODE_NORMAL 0x00#define MODE_OVERDRIVE 0x01#define MODE_STRONG5 0x02#define MODE_PROGRAM 0x04#define MODE_BREAK 0x08extern int DS2480Detect(int);extern int DS2480ChangeBaud(int, uchar);// global DS2480 stateextern int ULevel[MAX_PORTNUM]; // current DS2480 1-Wire Net levelextern int UBaud[MAX_PORTNUM]; // current DS2480 baud rateextern int UMode[MAX_PORTNUM]; // current DS2480 command or data mode stateextern int USpeed[MAX_PORTNUM]; // current DS2480 1-Wire Net comm speed
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -