在S3C2440上配置UART

大家學習經常使用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;
}

 

 

發佈了51 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章