You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

25 lines
850 B

 /*
*  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