一 需要设置的寄存器(其实进入uboot后,串口已经设置好了,直接发送数据就行了,)
1)模式
UCON (轮询,中断,DMA等)
2)相关参数
ULCON0 定义了串口数据的帧格式,数据位长度,奇偶校验位,停止位(8-N-1)
BRDIV 定义了波特率的计算公式所得结果的整数部分
UDIVSLOT0 定义了波特率的计算公式所得结果的小数部分
3)高级选项(串口的发送接收缓冲的大小(fifo)默认是1B,可改成64B
二 发送接收数据
相关的寄存器
UTXH0 UART channel 0 transmit buffer register
URXH0 UART channel 0 receive buffer register(这两个寄存器和51的SBUF相似)
UTRSTAT0 UART channel 0 Tx/Rx status register
[2:0]中
[2] 如果发送buffer空且发送移位器空时置1,反之置0
[1] 如果发送buffer空则置1;
[0] 如果接收buffer接收到有效数据,则置1,反之置0;
发送时看2位,接收时看0位;
2410下的发送接收函数(6410 和 2440 的串口实现基本一样,改改地址就行,个别的寄存器值的计算不同)
void