-S3C2440的串口驅(qū)動(dòng)編程原理_第1頁
-S3C2440的串口驅(qū)動(dòng)編程原理_第2頁
-S3C2440的串口驅(qū)動(dòng)編程原理_第3頁
-S3C2440的串口驅(qū)動(dòng)編程原理_第4頁
-S3C2440的串口驅(qū)動(dòng)編程原理_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁—S3C2440的串口驅(qū)動(dòng)編程原理前言講解韋東山JZ2440開發(fā)板的串口驅(qū)動(dòng)原理,對(duì)韋東山在維基教程串口使用內(nèi)容的一些補(bǔ)充,串口使用點(diǎn)擊這里進(jìn)入。這里主要講的是串口驅(qū)動(dòng)的編程思路,如何根據(jù)s3c2440的芯片手冊(cè)編寫出最簡(jiǎn)單的串口驅(qū)動(dòng)。

一、串口的初始化串口初始化包括引腳初始化、串口時(shí)鐘初始化和中斷模式、波特率配置以及參數(shù)配置等。

1、引腳初始化

(1)看JZ2440開發(fā)板的原理圖,可知UART0的引腳是GPH2(TXD0)和GPH3(RXD0)。(2)到s3c2440芯片手冊(cè)295頁,看GPHCON(GPH控制寄存器),可以需要把GPH2也就是GPHCON[5:4]配置為10,GPH3也就是GPHCON[7:6]配置為10。(3)配置引腳為內(nèi)部上拉,然引腳初始時(shí)為高電平,看s3c2440芯片手冊(cè)的295頁,可知需要把GPH[10:0]配置為0。(4)編寫程序?qū)崿F(xiàn)引腳初始化,首先清零GPH2和GPH3引腳,然后在配置為TXD和RXD模式,接著將已經(jīng)配置為內(nèi)部上拉。

/*配置GPH2、GPH3引腳為串口模式,GPH2-->TXD,GPH3-->RXD*/GPHCON/*先清零GPH2和GPH3*/GPHCON|=((2(2)中斷模式以及回環(huán)等配置,不使用中斷模式,不用回環(huán)模式,Normaltransmit、RxTimeOut不使能、這些位配置為0,即[9:4]配置為000000。(3)發(fā)送模式和接收模式配置,配置為輪詢方式,[3:0]配置為0101。(4)編寫UCON0寄存器配置程序,二進(jìn)制0000000000000101,16進(jìn)制0x00000005。

/*配置時(shí)鐘PCLK(50M),查詢模式*/UCON0=0x00000005;3、波特率配置

在s3c2440芯片手冊(cè)352頁,UBRDIV0(UART波特率除數(shù)寄存器),看到如下計(jì)算公式根據(jù)該計(jì)算公式可以得出UBRDIV0的值,因此可編寫UBRDIV0配置程序。

/*配置串口波特率**UBRDIVn=(int)(UARTclock/(buadratex16))–1**UARTclock=50M,由時(shí)鐘配置可知FCLK:HCLK:PCLK=400m:100m:50m**有datasheet可知,如果波特率為115200,則**UBRDIVn=(int)(50000000/(115200x16))-1=26*/UBRDIV0=26;4、配置參數(shù)

接下來配置串口參數(shù),配置為8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)位,正常模式。在s3c2400的341頁,看到UART線路控制寄存器ULCON0,如圖所示,可在ULCON0配置為00000011,16進(jìn)制0x00000003,因此可編寫程序配置ULCON0。

/*配置參數(shù),8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)位,正常模式*/ULCON0=0x00000003;5、完成的串口初始化程序

/**************************************************************函數(shù)名稱:uart_init函數(shù)功能:S3C2440UART0初始輸入?yún)?shù):無返回值:無備注:無**************************************************************/voiduart_init(void){/*配置GPH2、GPH3引腳為串口模式,GPH2-->TXD,GPH3-->RXD*/GPHCON/*先清零GPH2和GPH3*/GPHCON|=((22、在s3c2440芯片手冊(cè)351頁,UART傳輸緩沖寄存器和UART接收緩沖寄存器,這里要注意的是發(fā)送和接收是有分為小端模式和大端模式的,這里用的是小端模式。3、編寫發(fā)送字符和接收字符函數(shù)

/**************************************************************函數(shù)名稱:send_char函數(shù)功能:發(fā)送一個(gè)字符輸入?yún)?shù):要發(fā)送的字符返回值:無備注:無**************************************************************/voidsend_char(unsignedcharc){while(!(UTRSTAT0/*檢查狀態(tài)寄存器,如果不為空說明數(shù)據(jù)還沒發(fā)送完則一直等待*/UTXH0=c;/*如果狀態(tài)寄存器為空,則將下一個(gè)數(shù)據(jù)傳入傳輸緩沖寄存器*/}/**************************************************************函數(shù)名稱:receive_char函數(shù)功能:接收一個(gè)字符輸入?yún)?shù):無返回值:獲取到的字符備注:無**************************************************************/unsignedc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論