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

📄 uart.h

📁 em86xx 完整启动程序,支持网络下载与串通下载
💻 H
字号:
/***************************************** Copyright (c) 2002-2004 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the EM86XX boot loader */#ifndef __BOOTLOADER_UART_H#define __BOOTLOADER_UART_H#include "version.h"#include "emhwlib_registers.h"/*  * UART Registers  */#define UART0_BASE              (REG_BASE_cpu_block + CPU_UART0_base)#define UART1_BASE              (REG_BASE_cpu_block + CPU_UART1_base)#define UART_RBR                CPU_UART_RBR#define UART_TBR                CPU_UART_THR#define UART_IER                CPU_UART_IER#define UART_IIR                CPU_UART_IIR#define UART_FCR                CPU_UART_FCR#define UART_LCR                CPU_UART_LCR#define UART_MCR                CPU_UART_MCR#define UART_LSR                CPU_UART_LSR#define UART_MSR                CPU_UART_MSR#define UART_SCRATCH            CPU_UART_SCR#define UART_CLKDIV             CPU_UART_CLKDIV#define UART_CLKSEL             CPU_UART_CLKSEL/* Line Control Register */#define UART_LCR_SBC            0x40    /* Set break control */#define UART_LCR_SPAR           0x20    /* Stick parity (?) */#define UART_LCR_EPAR           0x10    /* Even parity select */#define UART_LCR_PARITY         0x08    /* Parity Enable */#define UART_LCR_STOP           0x04    /* Stop bits: 0 = 1 stop bit, 1 = 2 stop bits */#define UART_LCR_WLEN5          0x00    /* Wordlength: 5 bits */#define UART_LCR_WLEN6          0x01    /* Wordlength: 6 bits */#define UART_LCR_WLEN7          0x02    /* Wordlength: 7 bits */#define UART_LCR_WLEN8          0x03    /* Wordlength: 8 bits */#define UART_LCR_N81            0x03    /* None, 8 bit, 1 bit */#define UART_PARITY_NONE        0x00#define UART_PARITY_ODD         0x08#define UART_PARITY_EVEN        0x18// default configuration// #define DEFAULT_UART_PORT        0// #define DEFAULT_UART_BAUDRATE    38400               // 300, 1200, 2400, 4800, 9600,                                                    // 19200, 38400, 57600, 115200, 230400#define DEFAULT_UART_DATABITS   8                   // 5 - 8#define DEFAULT_UART_STOPBITS   1                   // 1 - 2#define DEFAULT_UART_PARITY     UART_PARITY_NONE    // none, even, odd//// function prototypes//// initializationvoid uart_init(void);void uart_init_port(int port, int baudrate, int fifo);void uart_reset(void);// outputvoid uart_putc(int ch);void uart_puts(const char *t);void uart_putns(const char *t, int maxlen);//int uart_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));int uart_printf(const char *fmt, ...);void uart_printbyte(unsigned int data);void uart_printshort(unsigned int data);void uart_printlong(unsigned int data);void uart_printint(int data);// inputenum { GETSTR_ESCAPE = 0x01, GETSTR_APPEND = 0x02, GETSTR_APPENDDISP = 0x04};int uart_peekc(void);int uart_getc(void);void uart_ungetc(int ch);char *uart_gets_raw(char *str, int maxlen);char *uart_gets(char *str, int maxlen, int flag);char *uart_getcmd(char *str);// macro#define PAUSE { char tmpstr[256]; uart_puts("(pause)\n"); uart_gets_raw(tmpstr, sizeof tmpstr); }#endif  // __BOOTLOADER_UART_H

⌨️ 快捷键说明

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