📄 ownet.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.//---------------------------------------------------------------------------//// ownet.h - Include file for 1-Wire Net library//// Version: 2.00//// History: 1.02 -> 1.03 Make sure uchar is not defined twice.// 1.03 -> 2.00 Changed 'MLan' to 'ow'.//// Typedefs#ifndef OW_UCHAR#define OW_UCHAR typedef unsigned char uchar; typedef unsigned int ushort; typedef unsigned long ulong;#endif// general defines#define WRITE_FUNCTION 1#define READ_FUNCTION 0// error codes#define READ_ERROR -1#define INVALID_DIR -2#define NO_FILE -3#define WRITE_ERROR -4#define WRONG_TYPE -5#define FILE_TOO_BIG -6// Misc#define FALSE 0#define TRUE 1#define MAX_PORTNUM 16// mode bit flags#define MODE_NORMAL 0x00#define MODE_OVERDRIVE 0x01#define MODE_STRONG5 0x02#define MODE_PROGRAM 0x04#define MODE_BREAK 0x08// family codes of devices#define DIR_FAMILY 0x01#define TEMP_FAMILY 0x10#define NVRAM64K_FAMILY 0x0c#define SWITCH_FAMILY 0x12#define COUNT_FAMILY 0x1D#define ATOD_FAMILY 0X20#define THERMO_FAM 0x21#define SBATTERY_FAM 0x26// this is weird, the DS2502 should be 0x09#define DS2502_FAMILY 0x89// tinilnk.cextern void FlushCOM(int);extern int WriteCOM(int,int,uchar*);extern int ReadCOM(int,int,uchar*);extern void BreakCOM(int);extern void SetBaudCOM(int,int);extern void msDelay(int);extern long msGettick(void);extern int OpenCOM(int,char *);extern void CloseCOM(int);// ownetu.cextern int owFirst(int,int,int);extern int owNext(int,int,int);extern void owSerialNum(int,uchar *, int);extern void owFamilySearchSetup(int,int);extern void owSkipFamily(int);extern int owAccess(int);extern int owVerify(int,int);extern int owOverdriveAccess(int);extern int bitacc(int,int,int,uchar *);extern uchar SerialNum[MAX_PORTNUM][8];// owtrnu.cextern int owBlock(int,int,uchar *,int);extern int owReadPacketStd(int,int,int,uchar *);extern int owWritePacketStd(int,int,uchar *,int,int,int);extern int owProgramByte(int,int,int,int,int,int);// crcutil.cextern void setcrc16(int,ushort);extern ushort docrc16(int,ushort);extern void setcrc8(int,uchar);extern uchar docrc8(int,uchar);// owllu.cextern int owTouchReset(int);extern int owTouchByte(int, int);extern int owWriteByte(int,int);extern int owReadByte(int);extern int owSpeed(int,int);extern int owLevel(int,int);extern int owProgramPulse(int);// owlli for the internal (TINI) ow busextern uchar iowTouchReset(void);extern uchar iowReadByte(void);extern uchar iowWriteByte(uchar);extern uchar iowBlock(uchar, uchar*, uchar);extern uchar iowFirst(uchar do_reset, uchar alarm_only);extern uchar iowNext(uchar do_reset, uchar alarm_only);extern uchar iowSpeed(int speed);extern uchar iowLevel(int level);extern uchar iowProgramPulse(void);extern void iowSerialNum(uchar *, uchar);// owsesu.cextern int owAcquire(int,char *, char *);//extern int owAcquire(int,char *);extern void owRelease(int, char *);//extern void owRelease(int);// findtype.cextern int FindDevices(int, uchar FamilySN[][8], int, int);// offile.cint owReadFile(int,uchar *,uchar *);int owFormatWriteFile(int,uchar *, int, uchar *);// sdcc has no exit#define exit return// sdcc has no double#define double float// sdcc has no key_abort#define key_abort Serial0CharArrived
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -