在S3C2440上配置UART

来源:互联网 发布:java输入输出学生成绩 编辑:程序博客网 时间:2024/06/06 00:48

大家学习经常使用S3C2410/S3C2440,通常是烧写简单的程序到NandFlash中(一般小于4K),并且开机运行。

我尝试开机后初始化UART,但是开始一直输出乱码。

上电以后,晶振是12MHz,为了调试,我没有启动PLL,意味着主频一直以12MHz运行,所以PCKL也是12MHz。

使用公式:

UBRDIVn = (int)( UART clock / ( buad rate x 16) ) –1

波特率是115200,计算出来结果( 12000000/(115200*16) - 1 = 6

很不幸,试着输入字符,但是乱码

后来降低波特率为19200,UBRDIV=38

嘿嘿,这能正常输出了。

为什么要降低波特率?我还需要研究研究。

初始化UART的代码为:

void init_uart_c()
{
    GPHCON  = 0xA0;
    GPHUP   = 0x0C;

    ULCON0  = 3;
    UCON0   = 0x0005;
    UFCON0  = 0x00;
    UMCON0  = 0x00;
    UBRDIV0 = 38;
}

 

 

原创粉丝点击