📄 macrodriver.h
字号:
/*
*******************************************************************************
**
** This device driver was created by Applilet for the 78K0/KB2, 78K0/KC2,
** 78K0/KD2, 78K0/KE2 and 78K0/KF2 8-Bit Single-Chip Microcontrollers.
**
** Copyright(C) NEC Electronics Corporation 2002 - 2005
** All rights reserved by NEC Electronics Corporation.
**
** This program should be used on your own responsibility.
** NEC Electronics Corporation assumes no responsibility for any losses
** incurred by customers or third parties arising from the use of this file.
**
** Filename : macrodriver.h
** Abstract : This is the general header file
** APIlib: NEC78K0KX2.lib V1.01 [09 Aug. 2005]
**
** Device : uPD78F0513(44-pin)
**
** Compiler: NEC/CC78K0
**
*******************************************************************************
*/
#ifndef _MDSTATUS_
#define _MDSTATUS_
#pragma sfr
#pragma di
#pragma ei
#pragma NOP
#pragma HALT
#pragma STOP
/* data type defintion */
typedef unsigned long ULONG;
typedef unsigned int UINT;
typedef unsigned short USHORT;
typedef unsigned char UCHAR;
typedef unsigned char BOOL;
#define ON 1
#define OFF 0
#define TRUE 1
#define FALSE 0
#define IDLE 0 /* idle status */
#define READ 1 /* read mode */
#define WRITE 2 /* write mode */
#define SET 1
#define CLEAR 0
#define MD_STATUS unsigned short
#define MD_STATUSBASE 0x0
/* status list definition */
#define MD_OK MD_STATUSBASE+0x0 /* register setting OK */
#define MD_RESET MD_STATUSBASE+0x1 /* reset input */
#define MD_SENDCOMPLETE MD_STATUSBASE+0x2 /* send data complete */
#define MD_OVF MD_STATUSBASE+0x3 /* timer count overflow */
/* error list definition */
#define MD_ERRORBASE 0x80
#define MD_ERROR MD_ERRORBASE+0x0 /* error */
#define MD_RESOURCEERROR MD_ERRORBASE+0x1 /* no resource available */
#define MD_PARITYERROR MD_ERRORBASE+0x2 /* UARTn parity error */
#define MD_OVERRUNERROR MD_ERRORBASE+0x3 /* UARTn overrun error */
#define MD_FRAMEERROR MD_ERRORBASE+0x4 /* UARTn frame error */
#define MD_ARGERROR MD_ERRORBASE+0x5 /* Error agrument input error */
#define MD_TIMINGERROR MD_ERRORBASE+0x6 /* Error timing operation error */
#define MD_SETPROHIBITED MD_ERRORBASE+0x7 /* setting prohibited */
#define MD_DATAEXISTS MD_ERRORBASE+0x8 /* Data to be transferred next exists in TXBn register */
#define MD_SPT MD_STATUSBASE+0x8 /*IIC stop*/
#define MD_NACK MD_STATUSBASE+0x9 /*IIC no ACK*/
#define MD_SLAVE_SEND_END MD_STATUSBASE+0x10 /*IIC slave send end*/
#define MD_SLAVE_RCV_END MD_STATUSBASE+0x11 /*IIC slave receive end*/
#define MD_MASTER_SEND_END MD_STATUSBASE+0x12 /*IIC master send end*/
#define MD_MASTER_RCV_END MD_STATUSBASE+0x13 /*IIC master receive end*/
/* main clock and subclock as clock source */
enum ClockMode { HiRingClock, SysClock };
/* the value for IMS and IXS */
#define MEMORY_IMS_SET 0xC8
#define MEMORY_IXS_SET 0x0C
/* clear IO register bit and set IO register bit */
#define ClrIORBit(Reg, ClrBitMap) Reg &= ~ClrBitMap
#define SetIORBit(Reg, SetBitMap) Reg |= SetBitMap
enum INTLevel { Highest, Lowest };
#define SYSTEMCLOCK 8000000
#define SUBCLOCK 32768
#define MAINCLOCK 8000000
#define FRCLOCK 8000000
#define FRCLOCKLOW 240000
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -