嵌入式體系結(jié)構(gòu)實(shí)驗(yàn)4_第1頁
嵌入式體系結(jié)構(gòu)實(shí)驗(yàn)4_第2頁
嵌入式體系結(jié)構(gòu)實(shí)驗(yàn)4_第3頁
嵌入式體系結(jié)構(gòu)實(shí)驗(yàn)4_第4頁
嵌入式體系結(jié)構(gòu)實(shí)驗(yàn)4_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)四UART通信實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康恼莆誗3c2410UART串口通信的工作原理掌握s3c2419串口初始化的方法掌握使用串口進(jìn)行數(shù)據(jù)收、發(fā)的程序結(jié)構(gòu)。了解通過串口通信進(jìn)行設(shè)備控制的方法。2、實(shí)驗(yàn)設(shè)備硬件:PC機(jī),嵌入式系統(tǒng)實(shí)驗(yàn)箱軟件:ADS1.2 或者 KEIL MDK3、實(shí)驗(yàn)內(nèi)容3.1 s3c2410 的 UART 模塊S3c2410處理器內(nèi)部集成了 3個(gè)獨(dú)立的UART通信接口,UART0、UART1和UART2, 具有以下特征:所有的UART接口都可以選擇采用查詢、中斷或者DMA控制方式。各UART波特率的時(shí)鐘源可以選擇PCLK或者UCLK,通過配置波特率分頻系數(shù), 通信采用的波特率可調(diào),

2、最高可達(dá)230.4KPS。每個(gè)UART通信模塊都擁有16字節(jié)大小的收/發(fā)數(shù)據(jù)隊(duì)列各一個(gè)。內(nèi)置紅外(IrDA)編碼器和解碼器,支持紅外工作模式。UART0和UART1配有nRTS和nCTS信號(hào),支持握手傳輸方式。內(nèi)部可檢測(cè)多種接收錯(cuò)誤,包括幀覆蓋錯(cuò)誤、奇偶校驗(yàn)錯(cuò)、幀格式錯(cuò)、間斷狀態(tài)等, 并支持錯(cuò)誤中斷請(qǐng)求??赏ㄟ^編程配置幀格式、工作模式(AFC、回環(huán)模式、紅外模式)、FIFO、控制方 式選擇等等。UART應(yīng)用編程,包括兩個(gè)部分,即UART初始化配置和UART通信控制。涉及的 底層特殊功能寄存器包括各種控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器。UART初始化過 程就是針對(duì)各種控制寄存器的初始化配置。利用

3、查詢方式進(jìn)行通信控制方式,主要通過 查詢狀態(tài)寄存器,讀寫數(shù)據(jù)寄存器實(shí)現(xiàn)的。3.2 S3c2410 的 UART 模塊相關(guān) SFRSFR名稱地址讀寫特性功能描述復(fù)位值控制寄存器ULCONnUARTn 基址+0讀/寫UART幀格式控制寄存器UCONnUARTn 基址+4UART控制寄存器UFCONnUARTn 基址+8UART收發(fā)隊(duì)列FIFO控制寄存器UMCONnUARTn 基址+CUART Modem控制寄存器UBRDIVnUARTn 基址+28UART波特率分頻系數(shù)寄存器狀態(tài)寄存器UTRSTATnUARTn 基址+10只讀UART發(fā)送/接收狀態(tài)寄存器UERSTATnUARTn 基址+14UAR

4、T錯(cuò)誤狀態(tài)寄存器UFSTATnUARTn 基址+18UART收發(fā)隊(duì)列FIFO狀態(tài)寄存器UMSTATnUARTn 基址+1CUART Modem狀態(tài)寄存器數(shù)據(jù)寄存器按字節(jié)訪問,需要根據(jù)存儲(chǔ)器的端序,采用不同的訪問地址UTXH0UARTn基址+23 (大端對(duì)齊)UARTn基址+20 (小端對(duì)齊)只寫發(fā)送數(shù)據(jù)緩沖寄存器URXH0UARTn基址+27(大端對(duì)齊)UARTn基址+24 (小端對(duì)齊)只讀接收數(shù)據(jù)緩沖寄存器3.3 UART查詢方式收發(fā)原理通過查詢 UTRSTAT 寄存器的 Transmitter empty 位和 Receive buffer data ready 位,確定是否能夠向UTXH

5、n寫入數(shù)據(jù)和從URXHn讀取數(shù)據(jù)。圖2查詢方式進(jìn)行接收4、實(shí)驗(yàn)要求對(duì)給定的工程文件進(jìn)行修改,逐步完成以下要求。4.1閱讀、理解、測(cè)試給定代碼重新編譯UART的ADS工程文件,將生成的目標(biāo)二進(jìn)制文件system.bin,通過vivi 的下載命令:load flash ucos x下載到實(shí)驗(yàn)臺(tái)的flash存儲(chǔ)器ucos分區(qū),然后執(zhí)行命令boot smc ucos,執(zhí)行剛剛下載的二進(jìn)制文件。通過超級(jí)終端測(cè)試程序的執(zhí)行情況,結(jié)合工程源文件的main.c源代碼,分析程序中 的兩個(gè)關(guān)鍵函數(shù)Uart_GetChn()和Uart_SendByten(),理解程序的實(shí)現(xiàn)原理。嘗試修改 main.c文件,練習(xí)對(duì)這

6、兩個(gè)函數(shù)的調(diào)用,嘗試完善以上兩個(gè)函數(shù),以及熟悉ADS工程編 譯。4.2 UART初始化程序的編寫仔細(xì)分析給定的UART實(shí)驗(yàn)代碼,會(huì)發(fā)現(xiàn)程序中并沒有對(duì)UART進(jìn)行初始化,就直 接使用了,這是因?yàn)橄到y(tǒng)啟動(dòng)時(shí),vivi已經(jīng)完成了對(duì)UART0 口的初始化,因此可以直接 使用UART0進(jìn)行通信。修改實(shí)驗(yàn)代碼,修改Uart_GetChn()和Uart_SendByten()的調(diào)用形式,改用UART1進(jìn) 行數(shù)據(jù)的收、發(fā)。重新編譯工程、下載、運(yùn)行目標(biāo)代碼。在啟動(dòng)運(yùn)行后,將PC與實(shí)驗(yàn) 臺(tái)的連接口改到UART1,進(jìn)行數(shù)據(jù)收、發(fā),觀察運(yùn)行情況。是否能夠進(jìn)行字符的收發(fā) 呢?如果不能,那么是什么原因呢?設(shè)計(jì)一個(gè)UART

7、的初始化子程序,根據(jù)傳遞的參數(shù),完成對(duì)指定的UART 口的初始 化。如果感覺有困難,那么請(qǐng)參考vivi代碼archs3c2410Head.S文件中對(duì)UART進(jìn)行 初始化的子程序InitUART,分析代碼中對(duì)每個(gè)UART控制寄存器初始配置的含義,就 利用這些值對(duì)UART1進(jìn)行初始化,而后再通過UART1進(jìn)行通信,測(cè)試程序的運(yùn)行情況。 完成你的初始化程序,通過傳遞參數(shù),實(shí)現(xiàn)對(duì)指定口按參數(shù)要求進(jìn)行初始化(考慮設(shè) 計(jì)一個(gè)結(jié)構(gòu)體,表達(dá)串口的波特率、通信幀格式和流控制屬性)。4.3編程實(shí)現(xiàn)字符串發(fā)送功能編寫一個(gè)子程序,通過指定串口,發(fā)送字符串,用于串口打印調(diào)試信息。子程序的形式可以定義為:Uart_print(int UartNum, char * ptr);通過將字符串的首

溫馨提示

  • 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. 人人文庫(kù)網(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)論