新聞中心

        S3C2440的UART

        作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
        S3C2440 的通用異步收發(fā)器(UART)配有3個獨立異步串行I/O(SIO)端口

        每個 UART 包含一個波特率發(fā)生器、發(fā)送器、接收器和一個控制單元

        本文引用地址:http://www.104case.com/article/201611/319199.htm

        UART 基本工作原理
        內(nèi)置波特率發(fā)生器,為串行數(shù)據(jù)的發(fā)送和接收提供時鐘,根據(jù)這個時鐘節(jié)拍,數(shù)據(jù)先寫到FIFO中然后在拷貝到發(fā)送移位器中,在移位發(fā)送到引腳TxDn, 期間,發(fā)送過來的數(shù)據(jù)通過引腳RxDn進入移位器中然后拷貝到接收器的FIFO中

        UART寄存器(詳情見數(shù)據(jù)手冊)
        ULCONn(3個)
        UCONn(3個)
        UFCONn(3個)
        UMCONn(2個)
        UTRSTATn(3個)
        UERSTATn(3個)
        UFSTATn(3個)
        UMSTATn(2個)
        UTXHn(3個)
        URXHn(3個)
        UBRDIVn(3個)

        存儲在波特率分頻寄存器中的值(UBRDIVn)是用于決定如下的串行Tx/Rx時鐘率(波特率):
        UBRDIVn = (int)( UART時鐘 / ( 波特率 × 16) ) –1
        ( UART時鐘:PCLK,F(xiàn)CLK/n 或UEXTCLK )

        一個例子(啟動代碼自己添加)

        1. #include"config.h"
        2. #definePCLK50000000
        3. voidUart0_Init(unsignedintbandrate)
        4. {
        5. rGPHCON&=~((3<<4)|(3<<6));
        6. rGPHCON|=(2<<4)|(2<<6);//GPH2--TXD[0];GPH3--RXD[0]
        7. rGPHUP=0x00;//使能上拉功能
        8. rULCON0|=0x03;//8位數(shù)據(jù),1位停止位
        9. rUCON0=0x05;
        10. rUBRDIV0=PCLK/bandrate/16-1;
        11. rURXH0=0;//清空UART0接收緩沖器
        12. }
        13. voidSendchar(unsignedcharc)
        14. {
        15. rUTXH0=c;//寫入UART0發(fā)送緩沖器
        16. while(!(rUTRSTAT0&(1<<2)));//等待字符發(fā)送完
        17. }
        18. unsignedcharGetchar(void)
        19. {
        20. unsignedcharc;
        21. while(!(rUTRSTAT0&(1<<0)));//等待接收字符
        22. c=rURXH0;//接收緩沖器的字符
        23. returnc;
        24. }
        25. intMain()
        26. {
        27. unsignedcharZ_char;
        28. Uart0_Init(115200);
        29. while(1)
        30. {
        31. Z_char=Getchar();
        32. Sendchar(Z_char);
        33. }
        34. return0;
        35. }





        關(guān)鍵詞: S3C2440UAR

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 顺义区| 土默特左旗| 建阳市| 海口市| 青州市| 峨眉山市| 墨脱县| 泽普县| 尚志市| 夏津县| 阳东县| 安多县| 丹巴县| 贵南县| 和硕县| 中方县| 苏州市| 历史| 海门市| 东乡县| 建昌县| 台湾省| 陇川县| 永修县| 镶黄旗| 清新县| 霸州市| 道孚县| 古田县| 勐海县| 汾阳市| 建水县| 汽车| 浙江省| 金堂县| 西乌| 通州区| 依兰县| 通化市| 仙居县| 莒南县|