關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于s3c44b0和COS-II的嵌入式USB主機(SL811)設(shè)計與

基于s3c44b0和COS-II的嵌入式USB主機(SL811)設(shè)計與

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

EPSON打印機提供兩種打印方式,一種是用來打印文本文件,用該方式打印英文字母、阿拉伯數(shù)字、符合的時候向打印機發(fā)對應(yīng)的控制命令后,只要直接發(fā)打印內(nèi)容的ASCII碼即可。另一種方式是用來打印光柵圖形,當需要打印表格、圖片和漢字的時候時往往會用到這種方式。在此,列出幾個關(guān)鍵API函數(shù)并予已說明:

print_image_init ( void ):因為打印機初始化后默認為打印文本模式,所以要打印光柵圖形必須進行相關(guān)的初始化。

print_image_command(unsigned int horiz_position,unsigned int verti_position, unsigned char rows, unsigned int columns, char color):調(diào)用該函數(shù)之前必須事先至少調(diào)用過一次print_image_init(),它的功能是向打印機發(fā)打印圖片命令。其中,第一和第二個輸入?yún)?shù)是打印圖形的橫縱坐標,第三和第四個輸入?yún)?shù)分別是打印圖形的行數(shù)和列數(shù)(特別值得注意的是,C63系列和C65系列打印機一次最多可打16行,而 EPSON M1一次只能打15行),第五個輸入?yún)?shù)color是選擇打印顏色。在調(diào)用該函數(shù)后,直接向打印機發(fā)打印的數(shù)據(jù)就可以實現(xiàn)打印圖片功能了。迎訪問無由電子開發(fā)網(wǎng)(技術(shù)文章 在線閱讀 在線商城

由于打印文本模式和打印圖形的操作基本相同,而且更簡單,在此就不作說明。

3.4 協(xié)議的實現(xiàn)

這是整個 體系軟件的根基, 它負責(zé)主機和設(shè)備之間數(shù)據(jù)傳輸。其代碼都包含在文件slhost.c中,可供上層驅(qū)動調(diào)用的API函數(shù)主要有:

EnumUsbDev ():該函數(shù)主要實現(xiàn)枚舉設(shè)備的功能。當有設(shè)備插上時,系統(tǒng)通過調(diào)用到該函數(shù)得到設(shè)備的標準描述符(接口、配置、端點)并識別是海量存儲設(shè)備還是打印機。設(shè)置地址(SetAdress),設(shè)置配置描述符(SetDecriptor),設(shè)置配置值(SetConfiguration),設(shè)置接口(SetInterface)也在該函數(shù)里實現(xiàn)。

BuckSend():該函數(shù)主要實現(xiàn)主機上的數(shù)據(jù)通過塊傳輸方式發(fā)送到設(shè)備上;

BuckReceive():塊傳輸接受函數(shù);

BuckSend()和BuckReceive()兩個函數(shù)是最調(diào)度最平凡的兩個函數(shù),因為對海量存儲設(shè)備的讀寫,對打印機發(fā)送控制命令、打印數(shù)據(jù)都是通過塊傳輸通訊的,也就是通過調(diào)用這兩個函數(shù)來實現(xiàn)的。

處理器讀寫SLHS單個寄存器或數(shù)據(jù)存儲器的函數(shù)如下:

void SLWrite(char a, char d){ SL811_ADDR = a;   SL811_DATA = d;}

char SL811Read(char a) { SL811_ADDR = a;    return (SL811_DATA); }

這兩個函數(shù)是ARM處理器和SL811芯片進行數(shù)據(jù)交互的基石,所有控制寄存器和數(shù)據(jù)存儲器的讀寫都可以通過以上兩個函數(shù)來實現(xiàn)。當需要連續(xù)讀寫SL811中的儲存器時可以采用以下方式來實現(xiàn),可以加快讀寫速度。

void SL811BufWrite(BYTE addr, BYTE *s, BYTE c)

{SL811H_ADDR = addr;   

   while (c--)

       SL811H_DATA = *s ;}

4 結(jié) 論

在基于實時內(nèi)核micro;C/OS-II和32位RISC架構(gòu)ARM7 Core的系統(tǒng)板上,我們實現(xiàn)了嵌入式USB主機設(shè)計和開發(fā),為酶標儀這一特定醫(yī)療設(shè)備提供了讀寫海量存儲設(shè)備和打印的功能。經(jīng)測試,本系統(tǒng)讀海量存儲設(shè)備數(shù)據(jù)的速度可達750kB/s,寫數(shù)據(jù)的速度最高可達450kB/s;打印功能也完全滿足系統(tǒng)要求,性能穩(wěn)定可靠,使用方便,是一種可行、實用的方案。


上一頁 1 2 3 下一頁

關(guān)鍵詞: s3c44b0 COS-II 811 USB

評論


相關(guān)推薦

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

關(guān)閉