?? lcd.h
字號:
//LCD_INTERFACE_LCD_CNTL_REG
//-------------------
#define LCD_INTERFACE_LCD_CNTL_REG REG16(LCD_INTERFACE_BASE_ADDR+LCD_INTERFACE_LCD_CNTL_REG_OFFSET)
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS1_POS 4
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS1_NUMB 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS1_RES_VAL 0x1
//R/W
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NRESET_POS 3
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NRESET_NUMB 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NRESET_RES_VAL 0x0
//R/W
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_START_READ_POS 2
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_START_READ_NUMB 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_START_READ_RES_VAL 0x0
//R/W
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_RS_POS 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_RS_NUMB 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_RS_RES_VAL 0x0
//R/W
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS0_POS 0
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS0_NUMB 1
#define LCD_INTERFACE_LCD_CNTL_REG_LCD_NCS0_RES_VAL 0x1
//R/W
//LCD_INTERFACE_LCD_IF_STS_REG
//-------------------
#define LCD_INTERFACE_LCD_IF_STS_REG REG16(LCD_INTERFACE_BASE_ADDR+LCD_INTERFACE_LCD_IF_STS_REG_OFFSET)
#define LCD_INTERFACE_LCD_IF_STS_REG_LCD_READ_EVENT_STATUS_POS 2
#define LCD_INTERFACE_LCD_IF_STS_REG_LCD_READ_EVENT_STATUS_NUMB 1
#define LCD_INTERFACE_LCD_IF_STS_REG_LCD_READ_EVENT_STATUS_RES_VAL 0x0
//R/C
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_FULL_STATUS_POS 1
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_FULL_STATUS_NUMB 1
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_FULL_STATUS_RES_VAL 0x0
//R
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_EMPTY_STATUS_POS 0
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_EMPTY_STATUS_NUMB 1
#define LCD_INTERFACE_LCD_IF_STS_REG_FIFO_EMPTY_STATUS_RES_VAL 0x1
//R
//LCD_INTERFACE_WR_FIFO
//-------------------
#define LCD_INTERFACE_WR_FIFO REG16(LCD_INTERFACE_BASE_ADDR+LCD_INTERFACE_WR_FIFO_OFFSET)
#define LCD_INTERFACE_WR_FIFO_DATA_TX_POS 0
#define LCD_INTERFACE_WR_FIFO_DATA_TX_NUMB 16
#define LCD_INTERFACE_WR_FIFO_DATA_TX_RES_VAL 0x0000
//W
//LCD_INTERFACE_RD_REG
//-------------------
#define LCD_INTERFACE_RD_REG REG16(LCD_INTERFACE_BASE_ADDR+LCD_INTERFACE_RD_REG_OFFSET)
#define LCD_INTERFACE_RD_REG_DATA_RX_POS 0
#define LCD_INTERFACE_RD_REG_DATA_RX_NUMB 16
#define LCD_INTERFACE_RD_REG_DATA_RX_RES_VAL None
//R
//END INC GENERATION
//--------------------------------------
//------------------------------------------------------------------
//
// LCD functions prototypes, typedef and macros
//
//------------------------------------------------------------------
//=====================================================
//
// Control Register (CNTL_REG)
//
//=====================================================
#define LCD_NRESET 0
typedef enum
{
LCD_CLOCK13_DIS = 0,
LCD_CLOCK13_EN = 1
} LCD_Clock13MHz_t;
typedef enum
{
LCD_TX_CLOCK_DIV8 = 0,
LCD_TX_CLOCK_DIV4 = 1,
LCD_TX_CLOCK_DIV2 = 2,
LCD_TX_CLOCK_DIV1 = 3
} LCD_TxClockDiv_t;
typedef enum
{
LCD_RX_CLOCK_DIV8 = 0,
LCD_RX_CLOCK_DIV4 = 1,
LCD_RX_CLOCK_DIV2 = 2,
LCD_RX_CLOCK_DIV1 = 3
} LCD_RxClockDiv_t;
typedef enum
{
LCD_FIFO_EMPTY_IT_DIS = 0,
LCD_FIFO_EMPTY_IT_EN = 1
} LCD_FifoEmptyIt_t;
typedef enum
{
LCD_READ_EMPTY_EVENT_IT_DIS = 0,
LCD_READ_EMPTY_EVENT_IT_EN = 1
} LCD_LcdReadEventIt_t;
typedef enum
{
LCD_DMA_DIS = 0,
LCD_DMA_EN = 1
} LCD_Dma_t;
typedef enum
{
LCD_INTERFACE_6800 = 0,
LCD_INTERFACE_8086 = 1
} LCD_InterfaceType_t;
typedef enum
{
LCD_WRITE_MSB_FIRST = 0,
LCD_WRITE_LSB_FIRST = 1
} LCD_EndianismConfig_t;
typedef enum
{
LCD_SUSPEND_DISABLED = 0,
LCD_SUSPEND_ENABLED = 1
} LCD_SuspendConfig_t;
typedef enum
{
LCD_MIN_FRAME_SIZE_16W = 0,
LCD_MIN_FRAME_SIZE_32W = 1,
LCD_MIN_FRAME_SIZE_64W = 2,
LCD_MIN_FRAME_SIZE_128W = 3
} LCD_DmaFrameSize_t;
typedef enum
{
LCD_0_DUMMY = 0,
LCD_1_DUMMY = 1,
LCD_2_DUMMY = 2
} LCD_DummyConfig_t;
//------------------------------------------------------
// Reset LCD interface
//------------------------------------------------------
void LCD_ResetInterface(void);
// the same with a macro
#define LCD_ResetInterface_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFFFE)
//------------------------------------------------------
// LCD : Clock 13MHz enable
//------------------------------------------------------
void LCD_Clock13MHzEnable(void);
// the same with a macro
#define LCD_Clock13MHzEnable_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFFFD) | LCD_CLOCK13_EN);
//------------------------------------------------------
// LCD : Clock 13MHz disable
//------------------------------------------------------
void LCD_Clock13MHzDisable(void);
// the same with a macro
#define LCD_Clock13MHzDisable_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFFFD);
//------------------------------------------------------
// LCD : Clock 13MHz status
//------------------------------------------------------
UWORD16 LCD_Clock13MHzStatus(void);
// the same with a macro
#define LCD_Clock13MHzStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_CLOCK13_EN_POS) & 0x0001)
//------------------------------------------------------
// LCD : TX clock div
//------------------------------------------------------
void LCD_TXClockDiv(UWORD16 value);
// the same with a macro
#define LCD_TXClockDiv_M(value) SetField16(LCD_INTERFACE_CNTL_REG, TX_CLOCK_DIV, (value))
//------------------------------------------------------
// LCD : TX clock div status
//------------------------------------------------------
UWORD16 LCD_TXClockDivStatus(void);
// the same with a macro
#define LCD_TXClockDivStatus_M GetField16(LCD_INTERFACE_CNTL_REG, TX_CLOCK_DIV)
//------------------------------------------------------
// LCD : FIFO empty interrupt enable
//------------------------------------------------------
void LCD_FifoEmptyItEnable(void);
// the same with a macro
#define LCD_FifoEmptyItEnable_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFFBF) | 0x0040)
//------------------------------------------------------
// LCD : FIFO empty interrupt disable
//------------------------------------------------------
void LCD_FifoEmptyItDisable(void);
// the same with a macro
#define LCD_FifoEmptyItDisable_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFFBF)
//------------------------------------------------------
// LCD : FIFO empty interrupt status
//------------------------------------------------------
UWORD16 LCD_FifoEmptyItStatus(void);
// the same with a macro
#define LCD_FifoEmptyItStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_FIFO_EMPTY_IT_EN_POS) & 0x0001)
//------------------------------------------------------
// LCD : Read event interrupt enable
//------------------------------------------------------
void LCD_ReadEventItEnable(void);
// the same with a macro
#define LCD_ReadEventItEnable_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFF7F) | 0x0080)
//------------------------------------------------------
// LCD : Read event interrupt disable
//------------------------------------------------------
void LCD_ReadEventItDisable(void);
// the same with a macro
#define LCD_ReadEventItDisable_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFF7F)
//------------------------------------------------------
// LCD : Read event interrupt status
//------------------------------------------------------
UWORD16 LCD_ReadEventItStatus(void);
// the same with a macro
#define LCD_ReadEventItStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_LCD_READ_EVENT_IT_EN_POS) & 0x0001)
//------------------------------------------------------
// LCD : DMA enable
//------------------------------------------------------
void LCD_DMAEnable(void);
// the same with a macro
#define LCD_DMAEnable_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFEFF) | 0x0100)
//------------------------------------------------------
// LCD : DMA disable
//------------------------------------------------------
void LCD_DMADisable(void);
// the same with a macro
#define LCD_DMADisable_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFEFF)
//------------------------------------------------------
// LCD : DMA status
//------------------------------------------------------
UWORD16 LCD_DMAStatus(void);
// the same with a macro
#define LCD_DMAStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_DMA_EN_POS) & 0x0001)
//------------------------------------------------------
// LCD : 6800 interface type selected
//------------------------------------------------------
void LCD_6800InterfaceTypeSelected(void);
// the same with a macro
#define LCD_6800InterfaceTypeSelected_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFDFF)
//------------------------------------------------------
// LCD : 8086 interface type selected
//------------------------------------------------------
void LCD_8086InterfaceTypeSelected(void);
// the same with a macro
#define LCD_8086InterfaceTypeSelected_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFDFF) | 0x0200)
//------------------------------------------------------
// LCD : 6800/8086 mode status
//------------------------------------------------------
UWORD16 LCD_InterfaceTypeStatus(void);
// the same with a macro
#define LCD_InterfaceTypeStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_MODE_POS) & 0x0001)
//------------------------------------------------------
// LCD : Write MSB First
//------------------------------------------------------
void LCD_WriteMSBFirst(void);
// the same with a macro
#define LCD_WriteMSBFirst_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xFBFF)
//------------------------------------------------------
// LCD : Write LSB First
//------------------------------------------------------
void LCD_WriteLSBFirst(void);
// the same with a macro
#define LCD_WriteLSBFirst_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xFBFF) | 0x0400)
//------------------------------------------------------
// LCD : Endianism Status
//------------------------------------------------------
UWORD16 LCD_EndianismStatus(void);
// the same with a macro
#define LCD_EndianismStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_FLIP_BYTES_POS) & 0x0001)
//------------------------------------------------------
// LCD : Tx never suspended
//------------------------------------------------------
void LCD_TxNotSuspended(void);
// the same with a macro
#define LCD_TxNotSuspended_M LCD_INTERFACE_CNTL_REG = (LCD_INTERFACE_CNTL_REG & 0xF7FF)
//------------------------------------------------------
// LCD : Allow Tx suspend
//------------------------------------------------------
void LCD_AllowTxSuspended(void);
// the same with a macro
#define LCD_AllowTxSuspended_M LCD_INTERFACE_CNTL_REG = ((LCD_INTERFACE_CNTL_REG & 0xF7FF) | 0x0800)
//------------------------------------------------------
// LCD : Suspend status
//------------------------------------------------------
UWORD16 LCD_TxSuspendStatus(void);
// the same with a macro
#define LCD_TxSuspendStatus_M ((LCD_INTERFACE_CNTL_REG >> LCD_INTERFACE_CNTL_REG_SUSPEND_EN_POS) & 0x0001)
//------------------------------------------------------
// LCD : DMA frame size set
//------------------------------------------------------
void LCD_DmaFrameSizeSet(UWORD16 value);
// the same with a macro
#define LCD_DmaFrameSizeSet_M(value) SetField16(LCD_INTERFACE_CNTL_REG, MIN_FRAME_SIZE, (value))
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -