国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 5106|回復(fù): 0
打印 上一主題 下一主題

[提問(wèn)] s3c2440串口通訊的相關(guān)配置,廣州信盈達(dá)嵌入式培訓(xùn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2014-3-27 17:47:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
UART配置的相關(guān)寄存器如下(s3c2440手冊(cè)中的順序列出):
聯(lián)系方式:QQ 1765841775電話(huà)15089711217
信盈達(dá)實(shí)訓(xùn)學(xué)院官網(wǎng):http://www.edu118.com
1.   ULCONn寄存器:線(xiàn)性控制寄存器
功能:設(shè)置奇偶校驗(yàn),停止位, 數(shù)據(jù)位(5-8)
注意:一般設(shè)置為無(wú)校驗(yàn),一個(gè)停止位,數(shù)據(jù)位為8,也就是常說(shuō)的“8N1”,此時(shí)寄存器值為0x3。(bit[6]0為正常模式,否則為紅外模式);
2.   UCONn寄存器:通道n控制器
功能:選擇UART時(shí)鐘源、設(shè)置UART中斷方式
注意:可選擇PCLK、UEXTCLKFCLK/nbit[5]=1為回送模式,用于測(cè)試;bit[3:2]bit[1:0]分別控制傳輸和接收模式,初學(xué)者常設(shè)置為中斷請(qǐng)求或查詢(xún)模式,bit[3:2]bit[1:0]01
3.   UFCONn寄存器:FIFO控制寄存器
功能:用于設(shè)置是否使用FIFO,設(shè)置各FIFO的觸發(fā)闕值,即發(fā)送FIFO中有多少個(gè)數(shù)據(jù)時(shí)產(chǎn)生中斷、接收FIFO中有多少個(gè)數(shù)據(jù)時(shí)產(chǎn)生中斷。并可以通過(guò)設(shè)置UFCONn寄存器來(lái)復(fù)位各個(gè)FIFO。讀取UFSTATn寄存器可以知道各個(gè)FIFO是否已經(jīng)滿(mǎn),其中有多少個(gè)數(shù)據(jù)。
注意:bit[0]=1時(shí),FIFO使能,否則禁止。初學(xué)者可不使用FIFO
4.   UMCONn寄存器:UART MODEM控制寄存器
注意:bit[4]=0,AFC無(wú)效
5.UBRDIVn寄存器:波特率除數(shù)寄存器
功能:設(shè)置波特率除數(shù)
注意:UBRDIVn=(int)(UART時(shí)鐘/(波特率*16))-1;
UART時(shí)鐘:PCLK,FCLK/n或者UEXTCLK,例如,如果波特率為115200bps并且UART時(shí)鐘為40MHz,則UBRDIVn為:
UBRDIVn=(int)(40000000/(115200*16))-1=(int)(21.7)-1(取最接近的整數(shù))=22-1=21。
5.   UTRSTATn寄存器:接收/發(fā)送狀態(tài)寄存器
功能:顯示接收/發(fā)送緩存寄存器狀態(tài)
注意:在非FIFO模式時(shí),bit[0]=1表明接收到數(shù)據(jù);bit[1]=1表明發(fā)送緩存寄存器為空。在FIFO模式時(shí),UFSTAT寄存器的相關(guān)位,具體見(jiàn)手冊(cè)。
6.   UERSTATn寄存器:錯(cuò)誤狀態(tài)寄存器
功能:表示各種錯(cuò)誤是否發(fā)生
注意:初學(xué)者可以不關(guān)注其狀態(tài),待深入學(xué)習(xí)時(shí),再查相關(guān)資料
7.   UFSTATn寄存器:FIFO狀態(tài)寄存器
功能:表明FIFO的相關(guān)狀態(tài)
注意:bit[14]=1,表明發(fā)送FIFO已滿(mǎn),暫時(shí)不能再發(fā)送數(shù)據(jù)。Bit[6]=0,表明接收FIFO中有數(shù)據(jù)(個(gè)人理解,不過(guò)不太嚴(yán)謹(jǐn))。
8.   UMSTATn寄存器:UART MODEM 狀態(tài)寄存器
注意:初學(xué)者可以不管
9.   UTXHn寄存器:發(fā)送緩存寄存器
功能:UART即會(huì)將它保存到緩沖區(qū)中,并自動(dòng)發(fā)送出去
注意:bit[7:0]=發(fā)送數(shù)據(jù)。
10.            URXHn寄存器:接收緩存寄存器
功能:當(dāng)UART接收到數(shù)據(jù)時(shí),CPU讀取這個(gè)寄存器,即可獲得數(shù)據(jù)。
注意:bit[7:0]=接收數(shù)據(jù);
注:URXHnUTXHn有大、小端之分,定義寄存器時(shí)要注意,不過(guò)一般都是用小端法。
以串口0為例:FCLK=400M,FCLK:HCLKCLK=1:4:8;波特率為115200
注:特別重要的一點(diǎn),與串口通訊有關(guān)的GPHCON要進(jìn)行配置;這是初學(xué)者容易忽略的,我就忽略過(guò),導(dǎo)致不能實(shí)現(xiàn)串口通訊,最后才找到原因。
void Port_Init(void)
{
   
   GPHCON = 0x00faaa;
   GPHUP = 0x7ff;
}
void Uart_Init(void)
{
//模式一
/******PCLK is used as uart's clock****************/
/***no FIFO---*************************************/
#if 1
    ULCON0 = 0x3;   //8N1
    UCON0  = 0x245; //PCLK作為串口時(shí)鐘
    UFCON0 = 0x0;   //no FIFO
    UMCON0 = 0x0;   // AFC disable
    UBRDIV0=26;
/**************************************************/
#endif
//模式二
/**********************loop_uart-pclk—noFIFO*************/
#if 0
    ULCON0 = 0x3;  //8N1
    UCON0 = 0x265; //bit[5] control loop mode: 1 is valid
    UFCON0 = 0x0;  //no FIFO
    UMCON0 = 0x0;   // AFC disable
    UBRDIV0=26;
/**********************loop_uart********************/
#endif
//模式三
/**********************uart--FIFO--PCLK*******************/
#if 0
    ULCON0 = 0x3;  //8N1
    UCON0 = 0x245; // PCLK作為串口時(shí)鐘
    UFCON0 = 0x31; //bit0]=1表示使能FIFO  
   
    UMCON0 = 0x0;   // AFC disable
   
    UBRDIV0=26;
/******************************************/
#endif
}
注:有定義如下
#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char)(ch)
#define RdURXH0()   (*(volatile unsigned char *)0x50000024)
使用模式一和模式二時(shí),輸入和輸出函數(shù)可如下形式
char Uart_Get_Char(void)
{
   
   while(!(UTRSTAT0 & 0x1)); //Receive data ready
   
    return (char)(RdURXH0());
   
   
   
}
char Uart_Put_Char(char ch)
{
   
    while(!(UTRSTAT0 & 0x2));   //Wait until THR is empty.
         WrUTXH0(ch);  
   
   return ch;
}
使用模式三時(shí),輸入和輸出函數(shù)可用形式如下:
char Uart_FIFO_Put_Char(char ch)
{
   
while((UFSTAT0 & 0x4000));  
     WrUTXH0(ch);  
   
   return ch;
}
char Uart_FIFO_Get_Char(void)
{
   
while(!(UFSTAT0 & 0x1f));  
   eturn (char)(RdURXH0());
}
聯(lián)系方式:QQ 1765841775電話(huà)15089711217
信盈達(dá)實(shí)訓(xùn)學(xué)院官網(wǎng):http://www.edu118.com

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 五月天婷婷网亚洲综合在线 | 亚洲欧美一区二区三区九九九 | 午夜噜噜噜私人影院在线播放 | 特级毛片女人18毛片 | 日韩在线免费看 | 欧美在线欧美 | 点击进入不卡毛片免费观看 | 韩日一区二区 | 日韩毛片免费在线观看 | 呦女网址www呦女 | 国产麻豆videoxxxx实拍 | 亚洲一区二区免费在线观看 | 日韩国产欧美一区二区三区在线 | 成人特黄午夜性a一级毛片 成人四虎影院 | 国产羞羞事1000部在线观看 | 99草视频| 四虎国产精品永久地址48 | 免费色视频| 成熟女人特级毛片www免费 | h 在线播放| 五月天婷婷网亚洲综合在线 | 成人福利社区 | 国产性片在线观看 | 精品国内视频 | 日韩二区| 久草视频中文在线 | 亚洲一区视频在线播放 | 日韩久久一区二区三区 | 羞羞网站在线免费观看 | 青青热久久综合网伊人 | 成人免费网站在线观看 | 日韩成人在线观看 | 亚洲第一色网站 | 婷婷伊人久久 | 黑人一区二区三区中文字幕 | 国产成人综合亚洲一区 | 日本欧美中文字幕 | 欧美日韩亚洲视频 | 五月天色婷婷综合 | 精品三级国产精品经典三 | 美女隐私视频黄www小说 |