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

📄 seeddm642_uart.h

📁 CCS下运行的SEED的UART通信的例子程序
💻 H
字号:
/*
 *  Copyright 2003 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 */
 
/*
 *  ======== SEEDdm642_uart.h ========
 *
 *  UART interface on the DM642 SEED
 */
#ifndef SEEDDM642_UART_
#define SEEDDM642_UART_

#ifdef __cplusplus
extern "C" {
#endif

#include <csl.h>

#define SEEDDM642_UART_CONFIGREGS      4
#define SEEDDM642_UART_BASEADDR        0x9c00
#define SEEDDM642_UART_RBR             0x00  // Read
#define SEEDDM642_UART_THR             0x00  // Write
#define SEEDDM642_UART_IER             0x01
#define SEEDDM642_UART_IIR             0x02  // Read
#define SEEDDM642_UART_FCR             0x02  // Write
#define SEEDDM642_UART_LCR             0x03
#define SEEDDM642_UART_MCR             0x04
#define SEEDDM642_UART_LSR             0x05
#define SEEDDM642_UART_SCR             0x07

#define SEEDDM642_UART_DLL             0x08
#define SEEDDM642_UART_DLH             0x09
#define SEEDDM642_UART_EFR             0x0A
#define SEEDDM642_UART_XON1            0x0C
#define SEEDDM642_UART_XON2            0x0D
#define SEEDDM642_UART_XOFF1           0x0E
#define SEEDDM642_UART_XOFF2           0x0F

#define SEEDDM642_UART_TCR             0x16
#define SEEDDM642_UART_TLR             0x17

#define SEEDDM642_UART_FIFORDY         0x1f

#define SEEDDM642_UARTA                0
#define SEEDDM642_UARTB                1

#define SEEDDM642_UART_BAUD115200     0x00c
#define SEEDDM642_UART_BAUD57600      0x019
#define SEEDDM642_UART_BAUD38400      0x032
#define SEEDDM642_UART_BAUD19200      0x064
#define SEEDDM642_UART_BAUD9600       0x0c8
#define SEEDDM642_UART_BAUD4800       0x190
#define SEEDDM642_UART_BAUD2400       0x320
#define SEEDDM642_UART_BAUD1200       0x640

/* UART handle */
typedef Int16 SEEDDM642_UART_Handle;

/* Config structure for the SEEDDM642 UART */
typedef struct SEEDDM642_UART_Config {
    int regs[SEEDDM642_UART_CONFIGREGS];
} SEEDDM642_UART_Config;

/* Set a UART register */
extern void SEEDDM642_UART_rset(SEEDDM642_UART_Handle hUart, Int16 regnum, Int16 regval);

/* Get the value of a UART register */
extern Int16 SEEDDM642_UART_rget(SEEDDM642_UART_Handle hUart, Int16 regnum);

/* Initialize UART and return handle */
extern Int16 SEEDDM642_UART_open(Int16 devid, Int16 baudrate, SEEDDM642_UART_Config *Config);

/* Get one character of data from the UART */
extern Int16 SEEDDM642_UART_getChar(SEEDDM642_UART_Handle hUart);

/* Send one character of data to the UART */
extern void SEEDDM642_UART_putChar(SEEDDM642_UART_Handle hUart, Uint16 data);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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