ARM11 S3C6410系列教程之二:串口
—— ARM11S3C6410系列教程之二串口
对于发送和接受的模式设置通过配置UCON0进行设置,该寄存器意义如下:
本文引用地址:https://www.eepw.com.cn/article/203123.htm
为使串口的发送速度更快,需要采用S3C6410的FIFO功能,具体寄存器为UFCON0,具体意义如下:

波特率设置公式
DIV_VAL = UBRDIVn + (num of 1’s in UDIVSLOTn)/16
DIV_VAL = (PCLK / (bps x 16 ) ) −1
DIV_VAL = (EXT_UCLK0 / (bps x 16 ) ) −1
or
DIV_VAL = (EXT_UCLK1 / (bps x 16 ) ) −1
在上个文章中,我们设置了PCLK=66.5MHz ,现在我们用bps=115200,通过计算可以得出DIV_VAL=35.08,可以使UBRDIV0=35,那么num of 1’s in UDIVSLOT0=1.28=1,具体设置程序如下:

通过判断UFSTAT0中的低7位是否为零来判断FIFO中是否有数据,

若有数据可以通过读取URXH0寄存器来读取数据:

这时需要注意,在接收和发送的时候,要检查FIFO中是否为满,若空间已满,则需要等待才能进行后续的发送或接收数据。
评论