mscpu.h

来自「MSTAR03的数码相框的代码」· C头文件 代码 · 共 32 行

H
32
字号
#ifndef __MSCPU_H_
#define __MSCPU_H_

#define DRC_IN8(r)       *((__u8 volatile xdata *)(r))
#define DRC_OUT8(r,d)    (*((__u8 volatile xdata *)(r)) = (__u8 volatile)d)
#define DRC_IN16(r)       *((__u16 volatile xdata *)(r))
#define DRC_OUT16(r,d)    (*((__u16 volatile xdata *)(r)) = (__u16 volatile)d)
#if 1
#define DRC_IN32(r)       *((__u32 volatile xdata *)(r))
#define DRC_OUT32(r,d)    (*((__u32 volatile xdata *)(r)) = (__u32 volatile)d)
#endif
#define FIFO_ADDRESS(e)  (usbRegAddress + (e<<2) + M_FIFO_EP0)

#ifdef BIG_ENDIAN
#define SWOP(X) ((X) = (((X)<<8)+((X)>>8)))
#define SWAP4(X) ((X) = (((X)&0x000000FF)<<24) + (((X)&0xFF000000)>>24) + (((X)&0x0000FF00)>>8) + (((X)&0x00FF0000)<<8))
#else
#define SWAP4(X) (X = X)
#define SWOP(X)  (X = X)
#endif

#define pbReadb(addr)           (*(__u8 volatile xdata *)(addr))
#define pbWriteb(addr,x)        ((*(__u8 volatile xdata *)(addr)) = (__u8 volatile)x)
#ifndef BIG_ENDIAN
#define pbReadhw(addr)          (*(__u16 volatile xdata *)(addr))
#define pbWritehw(addr,x)       ((*(__u16 volatile xdata *)(addr)) = (__u16 volatile)x)
#define pbReadw(addr)           (*(__u32 volatile xdata *)(addr))
#define pbWritew(addr,x)        ((*(__u32 volatile xdata *)(addr)) = (__u32 volatile)x)
#endif
#endif  /* __MSCPU_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?