⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lh7a404_kmi.h

📁 在sharp 404开发板的串口测试代码
💻 H
字号:
/***********************************************************************
 * $Workfile:   lh7a404_kmi.h  $
 * $Revision:   1.1  $
 * $Author:   WellsK  $
 * $Date:   Jul 01 2003 10:59:40  $
 *
 * Project: LH7A404 KMI definitions
 *
 * Description:
 *     This file contains the structure definitions and manifest
 *     constants for the LH7A404 component:
 *         Keyboard and mouse (PS2) interface
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh7a404/include/lh7a404_kmi.h-arc  $
 * 
 *    Rev 1.1   Jul 01 2003 10:59:40   WellsK
 * Changed to use abl_types instead of sma_types.
 * 
 *    Rev 1.0   Jun 30 2003 16:28:50   WellsK
 * Initial revision.
 * 
 * 
 ***********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 **********************************************************************/

#ifndef LH7A404_KMI_H
#define LH7A404_KMI_H

#include "abl_types.h"
#include "lh7a404_chip.h"

/***********************************************************************
 * KMI Register Structure
 **********************************************************************/

/* KMI Module Register Structure */ 
typedef struct 
{
    volatile UNS_32 mkictrl;      /* KMI control register */ 
    volatile UNS_32 mkistatus;    /* KMI status register */ 
    volatile UNS_32 mkidata;      /* KMI data register */ 
    volatile UNS_32 mkiclkdiv;    /* KMI clock divider register */ 
    volatile UNS_32 mkiint;       /* KMI interrupt status register */ 
} KMI_REGS_T;

/***********************************************************************
 * KMI control register definitions
 **********************************************************************/

/* KMI control register PS2 type select */
#define KMI_PS2_TYPE     0x00000000
/* KMI control register no line control type select */
#define KMI_NLC_TYPE     0x00000020
/* KMI control register enable receiver interrupr bit */
#define KMI_RXINT_EN     0x00000010
/* KMI control register enable transmitter interrupt bit */
#define KMI_TXINT_EN     0x00000008
/* KMI control register interface enable interrupt bit */
#define KMI_ENABLE       0x00000004
/* KMI control register force data signal low bit */
#define KMI_FDATA_LOW    0x00000002
/* KMI control register force clock signal low bit */
#define KMI_FCLOCK_LOW   0x00000001

/***********************************************************************
 * KMI status register definitions
 **********************************************************************/

/* KMI status register transmit register empty bit */
#define KMI_TX_REG_EMPTY 0x00000040
/* KMI status register transmitter busy bit */
#define KMI_TX_BUSY      0x00000020
/* KMI status register receive register full bit */
#define KMI_RX_REG_FULL  0x00000010
/* KMI status register receiver busy bit */
#define KMI_RX_BUSY      0x00000008
/* KMI status register receiver parity was odd bit */
#define KMI_RX_PAR_ODD   0x00000004
/* KMI status register clock line state mask bit */
#define KMI_CLK_ST_MSK   0x00000002
/* KMI status register data line state mask bit */
#define KMI_DATA_ST_MSK  0x00000001

/***********************************************************************
 * KMI data register definitions
 **********************************************************************/

/* KMI data register value load macro */
#define KMI_DATA(n)      ((n) & 0x000000FF)

/***********************************************************************
 * KMI clock divider register definitions
 **********************************************************************/

/* KMI clock divider register value load macro */
#define KMI_CLKDIV(n)    ((n) & 0x0000000F)

/***********************************************************************
 * KMI interrupt status register definitions
 **********************************************************************/

/* KMI interrupt status register transmit interrupt pending bit */
#define KMI_TX_INT       0x00000002
/* KMI interrupt status register receive interrupt pending bit */
#define KMI_RX_INT       0x00000001

/* Macro pointing to KMI registers */
#define KMI    ((KMI_REGS_T *)(KMI_BASE))

#endif /* LH7A404_KMI_H */ 

⌨️ 快捷键说明

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