⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 airdrop.h

📁 AVR读写CF卡的应用例子
💻 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 + -