<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ADS環(huán)境下基于S3C24 1 0串口應(yīng)用程序的開發(fā)

          ADS環(huán)境下基于S3C24 1 0串口應(yīng)用程序的開發(fā)

          作者: 時間:2009-10-23 來源:網(wǎng)絡(luò) 收藏

          1 硬件結(jié)構(gòu)
          目前大部分是在Windows或是在Dos下運用,本文是在Linux系統(tǒng)下利用來實現(xiàn)通信的。10芯片是三星公司生產(chǎn)的16/32bit的RISC處理器,獨立的16kB指令和16 kB數(shù)據(jù)的緩存(cache),用于虛擬內(nèi)存管理的MMU單元,LCD控制器(STNTFT),非線性(NAND)FLASH的引導(dǎo)單元,系統(tǒng)管理器(包括片選邏輯控制和SDRAM控制器),3個通道的異步(UART),每個控制器支持的最高波特率可以達到230400 Boud/s,這些特點為實現(xiàn)在Linux系統(tǒng)下計算機與板之間順利進行串口通信提供了可靠的保證。WNSC400是北京維納光科公司生產(chǎn)的電動位移平臺控制箱,它擁有RS232的串口能使10通過串口對其進行數(shù)據(jù)通信,從而能夠?qū)崿F(xiàn)10對電動位移平臺的控制。但是控制箱是在Windows下實現(xiàn)的,所以要想把它應(yīng)用到嵌入式系統(tǒng)中是存在難度的。S3C2410的串口要實現(xiàn)與控制箱的數(shù)據(jù)傳輸,那么就要使控制箱及其控制的電動平移臺實現(xiàn)與其它模塊組成嵌入式系統(tǒng),比如與一臺攝像頭聯(lián)系起來,當攝像頭對物體進行圖像采集后,對采集數(shù)據(jù)進行處理,進而計算出目標具體要改變的位移等參量,然后控制箱在通過$3C24lO的存儲器中讀取這些數(shù)據(jù),并發(fā)出命令使電動位移平臺按需要的改變量進行移動,這樣就是實現(xiàn)了一個簡單的嵌入式系統(tǒng)。計算機(宿主機)、目標機(S3C2410)還有控制箱之間連接的硬件原理如圖1所示。在宿主機上將在下編好的程序通過JTAG下載到S3C2410后,S3C2410就可以通過串口與控制箱進行通信。

          本文引用地址:http://www.ex-cimer.com/article/152310.htm

          2 UART軟件部分的實現(xiàn)
          絕大多數(shù)的Linux軟件都是以native方式進行的,即本機(HOST)、調(diào)試、本機運行的方式,但是由于在目標機上沒有足夠的資源來滿足嵌入式系統(tǒng)的開發(fā),所以這種方式不適合于嵌入式系統(tǒng)的軟件開發(fā)。通常嵌入式系統(tǒng)軟件開發(fā)采用交叉編譯調(diào)試的方法。交叉編譯的主要特征是某機器中執(zhí)行的程序代碼不是由本機編譯生成,而是由另外一臺機器編譯生成。
          串口通信的基本任務(wù)有:實現(xiàn)數(shù)據(jù)格式化、進行串/并轉(zhuǎn)換、控制數(shù)據(jù)傳輸速率、進行錯誤檢測和進行TTl與EIA電平轉(zhuǎn)換。串口通信分為同步通信和異步通信兩種類型,本文將用到異步串行I/0。
          由于Linux系統(tǒng)將所有的設(shè)備都看成文件,所以訪問串口時,認為串口是一個文件,我們可以使用文件系統(tǒng)控制函數(shù)實現(xiàn)基本的串口操作,比如open()函數(shù)用來打開串口,read()和write()函數(shù)用來讀寫串口,在傳輸數(shù)據(jù)完成后可以用close()函數(shù)關(guān)閉串口。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();