📄 airdrop.h
字号:
#ifndef _AIRDROP_H
#define _AIRDROP_H
#define NOP() _NOP()
#define CLI() _CLI()
#define SEI() _SEI()
#define esc 0x1B
//******************************************************************
//* Macros
//******************************************************************
#define LOW_BYTE(x) ((char)(x)&0xFF)
#define HIGH_BYTE(x) ((char)(x>>8)&0xFF)
#define LOW_WORD(x) ((unsigned int)(x)&0xFFFF)
#define HIGH_WORD(x) ((unsigned int)(x>>16)&0xFFFF)
#define bitset(var, bitno) ((var) |= 1 << (bitno))
#define bitclr(var, bitno) ((var) &= ~(1 << (bitno)))
#define make8(var,offset) ((unsigned int)var >> (offset * 8)) & 0x00FF
#define make16(varhigh,varlow) (((unsigned int)varhigh & 0xFF)* 0x100) + ((unsigned int)varlow & 0x00FF)
#define make32(var1,var2,var3,var4) \
((unsigned long)var1<<24)+((unsigned long)var2<<16)+ \
((unsigned long)var3<<8)+((unsigned long)var4)
#define make32i(var1,var2) ((unsigned long)var1<<16)+((unsigned long)var2)
//******************************************************************
//* PORT Definitions
//******************************************************************
#define addr_lo PORTA
#define PREG PORTB
#define data_out PORTC
#define data_in PINC
#define PCOMM PORTD
#define POPEN PORTE
#define addr_hi PORTF
#define PCTL PORTG
//******************************************************************
//* CF I/O Definitions
//******************************************************************
#define OE 0x01
#define IORD 0x02
#define IOWR 0x04
#define WE 0x08
#define RSET 0x10
#define set_OE PCTL |= OE
#define clr_OE PCTL &= ~OE
#define set_IORD PCTL |= IORD
#define clr_IORD PCTL &= ~IORD
#define set_IOWR PCTL |= IOWR
#define clr_IOWR PCTL &= ~IOWR
#define set_WE PCTL |= WE
#define clr_WE PCTL &= ~WE
#define set_RSET PCTL |= RSET
#define clr_RSET PCTL &= ~RSET
#define REG 0x40
#define IREQ PINB7
#define set_REG PREG |= REG
#define clr_REG PREG &= ~REG
//******************************************************************
//* PORT TRIS Definitions
//******************************************************************
#define TO_NIC DDRC = 0xFF;
#define FROM_NIC DDRC = 0x00; \
data_out = 0xFF;
#define SETUP_A DDRA = 0xFF; \
addr_lo = 0x00;
#define SETUP_B DDRB = 0x40; \
PORTB = 0xBF;
#define SETUP_C DDRC = 0x00; \
data_out = 0xFF;
#define SETUP_D DDRD = 0x0A;
#define SETUP_E DDRE = 0x02;
#define SETUP_F DDRF = 0x07; \
addr_hi = 0xF8;
#define SETUP_G DDRG = 0xFF; \
PCTL = 0xFF;
#define SETUP_IO_PORTS DDRA=0xff;addr_lo=0x00;DDRB=0x40;PORTB=0xbf;DDRC=0x00;data_out=0xff;DDRD=0x0a;DDRE=0x02;DDRF=0x07;addr_hi=0xf8;DDRG=0xff;PCTL=0xff;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -