當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]中標(biāo)麒麟操作系統(tǒng)串口調(diào)試方法研究

 目前,由于國(guó)產(chǎn)的中標(biāo)麒麟操作系統(tǒng)有著高安全性,以及其功能、穩(wěn)定性、效率方面都達(dá)到國(guó)外同類(lèi)產(chǎn)品水平,部分指標(biāo)還要優(yōu)于國(guó)外同類(lèi)產(chǎn)品,極大地降低了采購(gòu)成本及維護(hù)成本等特點(diǎn),中標(biāo)麒麟操作系統(tǒng)逐步地應(yīng)用到了部隊(duì)、國(guó)家大型的建設(shè)項(xiàng)目、企事業(yè)單位中,如國(guó)家電網(wǎng)D5000項(xiàng)目等[1]。串口作為一種廣泛應(yīng)用的計(jì)算機(jī)接口,計(jì)算機(jī)對(duì)設(shè)備進(jìn)行通信控制幾乎都是通過(guò)串口進(jìn)行的。在中標(biāo)麒麟操作系統(tǒng)下進(jìn)行串口調(diào)試與Windows不同,本文將介紹兩種中標(biāo)麒麟操作系統(tǒng)下的串口調(diào)試方法。

1串口編程

在任何操作系統(tǒng)下,串口調(diào)試程序的編寫(xiě)都是按照打開(kāi)串口設(shè)備、初始化串口和串口讀寫(xiě)操作的步驟進(jìn)行[2]。

1.1打開(kāi)串口

中標(biāo)麒麟操作系統(tǒng)與Linux系統(tǒng)類(lèi)似都是基于文件的,把硬件設(shè)備都看作文件,對(duì)硬件設(shè)備進(jìn)行操作,就是對(duì)設(shè)備文件的操作[3]。串口設(shè)備的設(shè)備文件是用“/dev/ttyS0”、“/dev/ttyS1”來(lái)命名的,Windows下的“COM1”對(duì)應(yīng)于中標(biāo)麒麟下的“/dev/ttyS0”。打開(kāi)串口只需要調(diào)用open()函數(shù)打開(kāi)設(shè)備文件即可。

1.2初始化串口

串口的初始化設(shè)置包括波特率、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位和流控制設(shè)置。對(duì)它們各自進(jìn)行設(shè)置時(shí)都有多種選擇,因此編程時(shí)一般采用switch()函數(shù)實(shí)現(xiàn)。

1.3串口讀寫(xiě)操作

串口工作模式有阻塞方式和非阻塞方式兩種。阻塞方式比較簡(jiǎn)單,當(dāng)對(duì)串口進(jìn)行操作時(shí),如果條件不滿足,操作會(huì)被阻塞,只有條件滿足時(shí)操作才會(huì)進(jìn)行;非阻塞方式是采用輪詢(xún)對(duì)串口進(jìn)行操作,編程時(shí)可以定義一個(gè)定時(shí)函數(shù),通過(guò)定時(shí)實(shí)現(xiàn)對(duì)串口緩沖區(qū)的訪問(wèn)[2]。

2minicom串口調(diào)試軟件

2.1minicom簡(jiǎn)介

minicom的功能與Windows系統(tǒng)下的超級(jí)終端類(lèi)似,計(jì)算機(jī)可以利用此軟件通過(guò)串口控制外部硬件設(shè)備。

2.2minicom安裝

中標(biāo)麒麟操作系統(tǒng)最新發(fā)行版(NeoKylin3.2.1)的系統(tǒng)盤(pán)中集成有minicom的rpm安裝包,因此只需要將系統(tǒng)盤(pán)插入電腦,打開(kāi)終端,運(yùn)行#yumlist|grepminicom命令查看minicom的版本,然后采用#yuminstall命令安裝。

2.3minicom配置及使用

第一次運(yùn)行minicom,為了保證minicom能正確地對(duì)CPU進(jìn)行讀寫(xiě)操作,需要對(duì)minicom的端口和波特率等進(jìn)行配置[4]。

進(jìn)入root輸入#minicom-s命令,確定后會(huì)彈出minicom的配置界面如圖1所示。

選擇Serialportsetup進(jìn)入串口設(shè)置,如圖2。根據(jù)實(shí)際要求設(shè)置好串口名、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位和流控制等,然后按回車(chē)退出到配置界面。選擇Savesetupasdfl保存配置信息,再選擇Exit退出配置界面回到minicom使用界面,然后就可以按照提示進(jìn)行串行數(shù)據(jù)收發(fā)。

2.4minicom控制VGA8×4矩陣切換器

VGA8×4是8輸入4輸出的矩陣切換器,它具有標(biāo)準(zhǔn)的RS-232串行通信接口,用戶可以通過(guò)RS-232接口,進(jìn)行計(jì)算機(jī)遠(yuǎn)端控制。其通信控制協(xié)議:波特率為9600b/s,數(shù)據(jù)位為8bit,停止位1bit,沒(méi)有奇偶校驗(yàn)位和流控制位??刂泼罡袷綖椋涸O(shè)備號(hào)+輸出端口號(hào)+控制符+輸入端口號(hào)+!。其中“設(shè)備號(hào)”和“控制符”都是1個(gè)字符位,“輸出端口號(hào)”和“輸入端口號(hào)”都是2bit數(shù)字,“!”是命令結(jié)束符。例如:設(shè)備號(hào)為A,以視頻控制方式(控制符為“[”),第3路輸入信號(hào)切換到第1路輸出,其控制命令為“A01[03!”。如果控制成功,矩陣切換器前面板中由4個(gè)數(shù)碼管組成的狀態(tài)顯示區(qū)會(huì)顯示“0103”4個(gè)數(shù)字,它表示矩陣切換器當(dāng)前的狀態(tài)為第1路輸出信號(hào)是由第3路輸入的[5]。

利用minicom控制矩陣切換器以視頻控制方式,第3路輸入后由第2路輸出的控制實(shí)驗(yàn)如圖3所示。圖3中上側(cè)圖顯示minicom發(fā)送的控制名令為A02[03!,下側(cè)圖可以看出矩陣切換器前面板4個(gè)數(shù)碼管顯示0203,這說(shuō)明控制實(shí)驗(yàn)成功。

3Qt4編寫(xiě)串口調(diào)試程序

3.1Qt簡(jiǎn)介

Qt是挪威的Trolltech公司開(kāi)發(fā)的面向?qū)ο蟮腃++圖形用戶界面程序開(kāi)發(fā)框架。Qt以其作為一個(gè)跨平臺(tái)框架而著稱(chēng),它使用“一次編寫(xiě),隨處編譯”的方式為開(kāi)發(fā)包括Windows、Linux和Mac等多平臺(tái)的應(yīng)用軟件提供方便,在中標(biāo)麒麟操作系統(tǒng)下也可以用Qt編程。Qt擁有直觀、強(qiáng)大的API,用戶只要具備一定的C/C++基礎(chǔ),就能夠快速地用Qt編寫(xiě)應(yīng)用程序[6]。

NeoKylin3.2.1系統(tǒng)安裝盤(pán)中集成有Qt4.6版本的rpm安裝包,要想安裝Qt只需將系統(tǒng)盤(pán)插入電腦,采用install命令就能把Qt4.6安裝到自己的電腦中。

3.2Qt串口編程

到目前為止,Qt的發(fā)行版本中還沒(méi)有專(zhuān)門(mén)針對(duì)串口定義控制類(lèi),要用Qt編寫(xiě)串口調(diào)試程序,最簡(jiǎn)單的方法是使用第三方編寫(xiě)的Qextserialport類(lèi)[7-8]。Qextserialport繼承自Qt定義的對(duì)輸入/輸出設(shè)備操作的基類(lèi)QIODevice。Qextserialport類(lèi)中完整定義了包括打開(kāi)串口、串口初始化設(shè)置和讀寫(xiě)串口的一系列操作。使用Qextserialport類(lèi)編寫(xiě)串口調(diào)試程序時(shí),只需將串口操作相關(guān)的參數(shù)傳遞給它,就能完成相應(yīng)的功能。因此,使用Qextserialport類(lèi)編寫(xiě)串口調(diào)試程序時(shí),只需要編寫(xiě)很少的代碼就能實(shí)現(xiàn)串口調(diào)試的功能。

3.3Qt4編寫(xiě)VGA8×4矩陣切換器控制程序

控制要求:矩陣切換器的第3路輸出連接一個(gè)40英寸的大屏幕顯示器,第1路至第4路輸入分別連接4臺(tái)計(jì)算機(jī),要求編寫(xiě)控制程序,通過(guò)4個(gè)控制按鈕實(shí)現(xiàn)大屏幕顯示器可以選擇顯示4臺(tái)計(jì)算機(jī)。

根據(jù)前面矩陣切換器的介紹可知4個(gè)按鈕發(fā)送的控制命令分別是:A03[01!、A03[02!、A03[03!和A03[04!。Qt中定義了信號(hào)與槽機(jī)制,槽與信號(hào)連接在一起,每當(dāng)發(fā)射這個(gè)信號(hào)時(shí),就會(huì)自動(dòng)調(diào)用這個(gè)槽。在設(shè)計(jì)4個(gè)按鈕時(shí),就用信號(hào)與槽機(jī)制,當(dāng)點(diǎn)擊按鈕時(shí),會(huì)發(fā)送一個(gè)信號(hào),同時(shí)定義一個(gè)響應(yīng)槽函數(shù)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)的發(fā)送??刂瞥绦蛄鞒虉D4所示,程序界面如圖5所示。[!--empirenews.page--]

部分程序代碼如下:

mySerial=new

Posix_QextSerialPort("/dev/ttyS0",QextSerialBase::Polling);

//定義串口對(duì)象,指定串口名,使用查詢(xún)方式

mySerial->open(QIODevice::ReadWrite);

//以讀寫(xiě)方式打開(kāi)串口

mySerial->setBaudRate(BAUD9600);

//波特率設(shè)置為9600b/s

mySerial->setDataBits(DATA_8);

//設(shè)置數(shù)據(jù)位為8bit

mySerial->setParity(PAR_NONE);

//奇偶校驗(yàn)設(shè)置為無(wú)校驗(yàn)

mySerial->setStopBits(STOP_1);

//停止位設(shè)置為1bit

myCom->setFlowControl(FLOW_OFF);

//流控制設(shè)置為無(wú)流控制[7]

圖5和圖6顯示了通過(guò)Qt4編程控制矩陣切換器實(shí)現(xiàn)大屏幕顯示2號(hào)計(jì)算機(jī)的實(shí)驗(yàn)情況。根據(jù)顯示結(jié)果可知,控制實(shí)驗(yàn)成功。

文中提出的兩種方法都能夠?qū)崿F(xiàn)中標(biāo)麒麟操作系統(tǒng)下的串口調(diào)試。采用minicom不需要自己編程,但是使用時(shí)不夠方便,不夠直觀;使用Qt4編寫(xiě)串口調(diào)試程序,比較簡(jiǎn)潔、直觀,同時(shí)它還可以集成到一個(gè)大型程序中,作為一個(gè)子模塊而存在。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉