|
|
/*
|
|
|
* DESCRIPTION for iomacros.h
|
|
|
* Read/Write macros for memory mapped I/O
|
|
|
*/
|
|
|
|
|
|
#ifndef _IOMACROS_H
|
|
|
#define _IOMACROS_H
|
|
|
#include "type.h"
|
|
|
/****************************************************************************
|
|
|
Constants Definitions
|
|
|
****************************************************************************/
|
|
|
#define IO_READ8(p) (UINT8)(*(volatile UINT8 *)(p))
|
|
|
#define IO_WRITE8(p,c) (*((volatile UINT8 *)(p)) = ((UINT8)(c)))
|
|
|
|
|
|
#define IO_READ16(p) (UINT16)(*(volatile UINT16 *)(p))
|
|
|
#define IO_WRITE16(p,v) (*((volatile UINT16 *)(p)) = (UINT16)(v))
|
|
|
|
|
|
#define IO_READ32(p) (UINT32)(*(volatile UINT32 *)(p))
|
|
|
#define IO_WRITE32(p,v) (*((volatile UINT32 *)(p)) = (UINT32)(v))
|
|
|
|
|
|
//bit operation
|
|
|
#define BSET32(reg, bit) ((reg) |= (bit))
|
|
|
#define BCLR32(reg, bit) ((reg) &= ~(bit))
|
|
|
|
|
|
#endif
|