s3c2440 通用异步接收器和发送器(UART)提供了三个独立的异步串行I/O(SIO)端口,每个端口都可以在中断模式或DMA模式下操作.
每个UART 通道的接收器和发送器包含了2 个64 位的FIFO。每个UART 包含一个波特率发送器,发送器,计数器和一个控制单元。波特率发生器可由PCLK,FCLK/n 或UEXTCLK(外部输入时钟)来锁定。
uart 的使用:
1.设置波特率, 传输格式如有几个数据位,是否使用流量控制, 有多少个停止位,设置寄存器工作模式(中断、查询、DMA),是奇还是偶校验.
2.设置GPIO为TXDn, RXDn. 选择工作模式,
3.通过对寄存器写,读可实现发送与接收.
产生波特率: 通过设置UBRDIVn寄存器. UBRDIVn = (int) (UART clock / (buad rate x 16)) –1,UBRDIVn=26;//115200
设置传输格式: 通过设置UART 线性控制寄存器(ULCONn),ULCONn=0x03.// 8N1(8个数据位,无较验,1个停止位)
设置uart时钟源,uart 中断方式: 设置UART 控制寄存器(UCONn), UCONn=0x05.// 查询方式,UART时钟源为PCLK
设置FIFO: 通过设置UFCONn, 设置是否用FIFO, FIFO触发阈值. UFCONn=0x00.//不使用FIFO
设置流控方式:UMCON0 =0x00;// 不使用流控
UTXHn : CPU 将数据写入其, UART将其中的数据保存到缓冲区, 并自动发送.
URXHn : CPU 接收到数据时, CPU通过读取其,可得到数据.