tl16a.h
来自「串口扩展芯片TL16C554驱动代码」· C头文件 代码 · 共 123 行
H
123 行
#ifndef _TL16A_
#define _TL16A_
#include "config.h"
//16c55x寄存器
#define thr 0x00
#define rbr 0x00
#define ier 0x04
#define fcr 0x08
#define iir 0x08
#define lcr 0x0C
#define mcr 0x10
#define lsr 0x14
#define msr 0x18
#define scr 0x1C
#define dll 0x00
#define dlm 0x04
#define xt_554_mhz 1.843200
#define bps_554a 9600
#define bps_554b 9600
#define bps_554c 9600 //前门摄像头即以前的计费器
#define bps_554d 9600 //后门,即以前的计价器,功放
#define adr_554a_base 0x83C00000
#define adr_554b_base 0x83400000
#define adr_554c_base 0x83800000
#define adr_554d_base 0x83000000
/*
#define adr_554d_base 0x82000000
#define adr_554b_base 0x82000000
#define adr_554c_base 0x82000000
#define adr_554a_base 0x82000000
*/
#define UART2_BASE ((volatile unsigned char *)0x83c00000)
#define UART3_BASE ((volatile unsigned char *)0x83400000)
#define UART4_BASE ((volatile unsigned char *)0x83800000)
#define UART5_BASE ((volatile unsigned char *)0x83000000)
#define uc_554a_thr (*(volatile unsigned char *)(adr_554a_base + thr)) // Transmit Holding
#define uc_554a_rhr (*(volatile unsigned char *)(adr_554a_base + rbr)) // Receive Holding
#define uc_554a_ier (*(volatile unsigned char *)(adr_554a_base + ier)) // Interrupt Enable
#define uc_554a_iir (*(volatile unsigned char *)(adr_554a_base + iir)) // Interrupt Status
#define uc_554a_fcr (*(volatile unsigned char *)(adr_554a_base + fcr)) // FIFO control register
#define uc_554a_lcr (*(volatile unsigned char *)(adr_554a_base + lcr)) // Line control Register
#define uc_554a_mcr (*(volatile unsigned char *)(adr_554a_base + mcr)) // Modem Control Register
#define uc_554a_lsr (*(volatile unsigned char *)(adr_554a_base + lsr)) // Line Status Register
#define uc_554a_msr (*(volatile unsigned char *)(adr_554a_base + msr)) // Modem Status Register
#define uc_554a_scr (*(volatile unsigned char *)(adr_554a_base + scr)) // Scratchpad Register
#define uc_554a_dll (*(volatile unsigned char *)(adr_554a_base + dll))
#define uc_554a_dlm (*(volatile unsigned char *)(adr_554a_base + dlm))
#define uc_554b_thr (*(volatile unsigned char *)(adr_554b_base + thr)) // Transmit Holding
#define uc_554b_rhr (*(volatile unsigned char *)(adr_554b_base + rbr)) // Receive Holding
#define uc_554b_ier (*(volatile unsigned char *)(adr_554b_base + ier)) // Interrupt Enable
#define uc_554b_iir (*(volatile unsigned char *)(adr_554b_base + iir)) // Interrupt Status
#define uc_554b_fcr (*(volatile unsigned char *)(adr_554b_base + fcr)) // FIFO control register
#define uc_554b_lcr (*(volatile unsigned char *)(adr_554b_base + lcr)) // Line control Register
#define uc_554b_mcr (*(volatile unsigned char *)(adr_554b_base + mcr)) // Modem Control Register
#define uc_554b_lsr (*(volatile unsigned char *)(adr_554b_base + lsr)) // Line Status Register
#define uc_554b_msr (*(volatile unsigned char *)(adr_554b_base + msr)) // Modem Status Register
#define uc_554b_scr (*(volatile unsigned char *)(adr_554b_base + scr)) // Scratchpad Register
#define uc_554b_dll (*(volatile unsigned char *)(adr_554b_base + dll))
#define uc_554b_dlm (*(volatile unsigned char *)(adr_554b_base + dlm))
#define uc_554c_thr (*(volatile unsigned char *)(adr_554c_base + thr)) // Transmit Holding
#define uc_554c_rhr (*(volatile unsigned char *)(adr_554c_base + rbr)) // Receive Holding
#define uc_554c_ier (*(volatile unsigned char *)(adr_554c_base + ier)) // Interrupt Enable
#define uc_554c_iir (*(volatile unsigned char *)(adr_554c_base + iir)) // Interrupt Status
#define uc_554c_fcr (*(volatile unsigned char *)(adr_554c_base + fcr)) // FIFO control register
#define uc_554c_lcr (*(volatile unsigned char *)(adr_554c_base + lcr)) // Line control Register
#define uc_554c_mcr (*(volatile unsigned char *)(adr_554c_base + mcr)) // Modem Control Register
#define uc_554c_lsr (*(volatile unsigned char *)(adr_554c_base + lsr)) // Line Status Register
#define uc_554c_msr (*(volatile unsigned char *)(adr_554c_base + msr)) // Modem Status Register
#define uc_554c_scr (*(volatile unsigned char *)(adr_554c_base + scr)) // Scratchpad Register
#define uc_554c_dll (*(volatile unsigned char *)(adr_554c_base + dll))
#define uc_554c_dlm (*(volatile unsigned char *)(adr_554c_base + dlm))
#define uc_554d_thr (*(volatile unsigned char *)(adr_554d_base + thr)) // Transmit Holding
#define uc_554d_rhr (*(volatile unsigned char *)(adr_554d_base + rbr)) // Receive Holding
#define uc_554d_ier (*(volatile unsigned char *)(adr_554d_base + ier)) // Interrupt Enable
#define uc_554d_iir (*(volatile unsigned char *)(adr_554d_base + iir)) // Interrupt Status
#define uc_554d_fcr (*(volatile unsigned char *)(adr_554d_base + fcr)) // FIFO control register
#define uc_554d_lcr (*(volatile unsigned char *)(adr_554d_base + lcr)) // Line control Register
#define uc_554d_mcr (*(volatile unsigned char *)(adr_554d_base + mcr)) // Modem Control Register
#define uc_554d_lsr (*(volatile unsigned char *)(adr_554d_base + lsr)) // Line Status Register
#define uc_554d_msr (*(volatile unsigned char *)(adr_554d_base + msr)) // Modem Status Register
#define uc_554d_scr (*(volatile unsigned char *)(adr_554d_base + scr)) // Scratchpad Register
#define uc_554d_dll (*(volatile unsigned char *)(adr_554d_base + dll))
#define uc_554d_dlm (*(volatile unsigned char *)(adr_554d_base + dlm))
void delay_ms (INT32U i);
void Init16(void);
extern void IRQEXTINT0 (void);
//extern void IRQEXTINT1 (void);
extern void IRQEXTINT2 (void);
extern void IRQEXTINT3 (void);
void ExCommISR(const int CommNum);
void ExStartSent(const INT8U ch,INT8U UData);
INT8U CommGetChar16 (const INT8U ch, INT16U to, INT8U *err);
void ttExCommISR(const int CommNum);
void L16_inibuf (void);
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?