00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00021 #ifndef FX2MACROS_H
00022 #define FX2MACROS_H
00023
00024 #include "fx2regs.h"
00025 #include "fx2types.h"
00026
00027 #define MSB(addr) (BYTE)((addr >> 8) & 0xff)
00028 #define LSB(addr) (BYTE)(addr & 0xff)
00029 #define MAKEWORD(msb,lsb) (((WORD)msb << 8) | lsb)
00030
00031 #define MSW(dword) (WORD)((dword >> 16) & 0xffff)
00032 #define LSW(dword) (WORD)(dword & 0xffff)
00033 #define MAKEDWORD(msw,lsw) (((DWORD)msw << 16) | lsw)
00034
00035
00036
00037 typedef enum { CLK_12M =0, CLK_24M, CLK_48M} CLK_SPD;
00038 #define CPUFREQ (CLK_SPD)((CPUCS & bmCLKSPD) >> 3)
00039 #define SETCPUFREQ(SPD) CPUCS = (CPUCS & ~bmCLKSPD) | (SPD << 3)
00040
00041 #define XTAL (CPUFREQ==CLK_12M ? 12000000L :\
00042 CPUFREQ==CLK_24M ? 24000000L : 48000000L)
00043
00044
00045
00046 #define I2CFREQ ((I2CTL & bm400KHZ) ? 400000L : 100000L)
00047
00048
00049
00050 #define IFFREQ (IFCONFIG & bm3048MHZ ? 48000000L : 30000000L)
00051 #define SETIF30MHZ() IFCONFIG &= ~bm3048MHZ
00052 #define SETIF48MHZ() IFCONFIG |= bm3048MHZ
00053
00054
00055
00056 #define EEPROM_TWO_BYTE (I2CS & bmBIT4)
00057
00058
00059 #endif