ns16550

1. 16550寄存器是驱动中最重要的部分。

2. 16550标准串口寄存器
 0x00  UART_RX_DATA  RO 串口接收数据寄存器
 0X00  UART_TX_DATA  WO 串口发送数据寄存器
 0X01  UART_INT_EN  RW 串口中断使能寄存器
 0X02  UART_INT_ID  RO 串口中断ID寄存器
 0X02  UART_FIFO_CTL  WO 串口FIFO控制寄存器
 0X03  UART_LINE_CTL  RW 串口LINE控制寄存器
 0X04  UART_MODEM_CTL WO 串口MODEM控制寄存器
 0X05  UART_LINE_STS  RO 串口LINE状态寄存器
 0X06  UART_MODEM_STS RO 串口MODEM状态寄存器
 0X00  UART_DIVISOR0  WO 串口时钟分频寄存器(LSB)
 0X00  UART_DIVISOR1  WO 串口时钟分频寄存器(MSB)
-- LSB和MSB根据接的晶振来设置,确定串口波特率


#define K1BASE 0xa0000000

#define PHYS_TO_K1(pa) ((pa)|K1BASE)

#define NS16550_CHANA PHYS_TO_K1(UART0_BASE)

#define BONITO(x) *(volatile unsigned long *)(0xbfe00000+(x))
#endif /* __ASSEMBLER__ */
#define RTC_INDEX_REG 0x70
#define RTC_DATA_REG 0x71
#define RTC_NVRAM_BASE 0x0e

#define COM1_BASE_ADDR 0xbfd003f8
#define COM2_BASE_ADDR 0xbfd002f8
#define COM3_BASE_ADDR 0xbff003f8
//#define NS16550HZ 1843200
#define NS16550HZ 3686400


波特率发生器UBPDIVn=(int)((MCLK)/(bps * 16))-1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值