16c554.h

来自「通过车载终端采集GPS数据」· C头文件 代码 · 共 48 行

H
48
字号


#ifndef _16C554_H_
#define _16C554_H_


/*16C554的寄存器定义*/
#define LCR_ADD     0x3     /*line control register*/
#define FCR_ADD     0x2     /*FIFO control register*/
#define MCR_ADD     0x4     /*modem control register*/
#define DLL_ADD     0x0     /*divisor latch LSB*/
#define DLM_ADD     0x1     /*divisor latch MSB*/
#define IER_ADD     0x1     /*interrupt enable register*/
#define IIR_ADD     0x2     /*interrupt identification register*/
#define LSR_ADD     0x5     /*line status register*/
#define MSR_ADD     0x6     /*modem status register*/
#define RBR_ADD     0x0     /*receiver buffer register*/
#define THR_ADD     0x0     /*transmitter holding register*/
#define SCR_ADD     0x7     /*scratchpad register*/



/*16C554的基地址定义*/
#define CHA_BASE    0x8400//0x8000
#define CHB_BASE    0x8500//0x8100
#define CHC_BASE    0x8600//0x8200
#define CHD_BASE    0x8700//0x8300

#define INT_BASE    0x8C00//0x8400

/*波特率定义,晶体为1.8432MHz时*/
#define TI16C554_9600   12
#define TI16C554_19200  6
#define TI16C554_38400  3


extern void tl16c554_init(void);
extern char at_serial_send(char *ptr, unsigned int len);
extern unsigned int at_serial_receive(char **ptr);

extern char siob_send(char *ptr, unsigned int len);
extern unsigned int siob_receive(char **ptr);

char sioc_send(char *ptr, unsigned int len);
void sioc_start_receive(void);
char sioc_receive(char **ptr);
#endif /*_16C554_H_*/

⌨️ 快捷键说明

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