《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 中標(biāo)麒麟操作系統(tǒng)串口調(diào)試方法研究
中標(biāo)麒麟操作系統(tǒng)串口調(diào)試方法研究
摘要: 文中提出的兩種方法都能夠?qū)崿F(xiàn)中標(biāo)麒麟操作系統(tǒng)下的串口調(diào)試。采用minicom不需要自己編程,但是使用時不夠方便,不夠直觀;使用Qt4編寫串口調(diào)試程序,比較簡潔、直觀,同時它還可以集成到一個大型程序中,作為一個子模塊而存在。
Abstract:
Key words :

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

1串口編程

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

1.1打開串口

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

1.2初始化串口

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

1.3串口讀寫操作

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

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

2.1minicom簡介

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

2.2minicom安裝

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

2.3minicom配置及使用

第一次運行minicom,為了保證minicom能正確地對CPU進行讀寫操作,需要對minicom的端口和波特率等進行配置[4]。

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

minicom配置界面

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

串口設(shè)置界面

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

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

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

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

3.1Qt簡介

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

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

3.2Qt串口編程

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

minicom控制矩陣切換器實驗

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

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

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

控制程序流程圖

部分程序代碼如下:

mySerial=new

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

//定義串口對象,指定串口名,使用查詢方式

mySerial->open(QIODevice::ReadWrite);

//以讀寫方式打開串口

mySerial->setBaudRate(BAUD9600);

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

mySerial->setDataBits(DATA_8);

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

mySerial->setParity(PAR_NONE);

//奇偶校驗設(shè)置為無校驗

mySerial->setStopBits(STOP_1);

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

myCom->setFlowControl(FLOW_OFF);

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

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

控制實驗結(jié)果

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产综合久久| 亚洲一区二区三区高清| 国产精品家庭影院| 欧美精彩视频一区二区三区| 久久亚洲私人国产精品va| 欧美亚洲视频| 亚洲欧美色婷婷| 亚洲欧美乱综合| 亚洲一区二区在线免费观看| 9色国产精品| 一区二区av| 亚洲特级毛片| 亚洲在线中文字幕| 亚洲欧美日韩精品久久| 亚洲欧美在线aaa| 欧美影院在线播放| 久久久青草青青国产亚洲免观| 久久精品国产综合精品| 久久免费视频这里只有精品| 久久综合狠狠综合久久综青草| 久久视频一区| 能在线观看的日韩av| 欧美成人在线影院| 欧美激情一区二区三区蜜桃视频| 欧美高清在线视频观看不卡| 欧美激情中文字幕乱码免费| 欧美日韩国产一区| 欧美性猛交视频| 国产日韩精品一区二区三区 | 国产伦精品一区二区三区高清| 国产精品久久精品日日| 国产午夜久久久久| 1024国产精品| 亚洲精品一区二区三区樱花| 亚洲午夜一二三区视频| 性做久久久久久免费观看欧美| 亚洲国产精品传媒在线观看| 亚洲美女精品成人在线视频| 亚洲自拍偷拍福利| 久久久久国产精品www | 国产精品嫩草影院av蜜臀| 国产亚洲一区二区在线观看| 在线观看亚洲a| 日韩午夜精品视频| 欧美一级在线亚洲天堂| 亚洲精品一级| 性久久久久久久久| 欧美成人嫩草网站| 国产精品扒开腿做爽爽爽软件| 国产色产综合色产在线视频| 在线观看一区二区视频| aa国产精品| 亚洲电影av在线| 亚洲一区二区三区高清 | 亚洲乱码国产乱码精品精可以看| 亚洲一区视频| 亚洲精品日产精品乱码不卡| 午夜免费久久久久| 欧美国产日本高清在线| 国产精品久久午夜| 亚洲高清不卡av| 亚洲综合成人婷婷小说| 亚洲精品系列| 久久久国产91| 欧美日韩一区自拍| 尤物精品在线| 亚洲一区影院| 99国内精品| 久久综合网hezyo| 国产精品亚洲一区| 亚洲精品一区中文| 亚洲福利视频二区| 午夜欧美精品久久久久久久| 男人插女人欧美| 国产三级精品在线不卡| 在线视频日本亚洲性| 亚洲国产一区二区三区在线播| 亚洲欧美视频一区二区三区| 欧美国产日本在线| 国语自产在线不卡| 亚洲伊人网站| 99国产精品久久久久久久| 久久久午夜电影| 国产精品wwwwww| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲欧美日韩一区二区在线| 欧美成年人视频网站| 国产一区二区0| 亚洲影院色无极综合| 一本大道久久a久久精品综合| 久久婷婷一区| 国产情人节一区| 中文亚洲视频在线| 在线亚洲一区观看| 欧美激情精品久久久久| 在线免费观看视频一区| 欧美一区二区三区在线看| 亚洲欧美中文日韩v在线观看| 欧美日韩免费在线视频| 亚洲电影专区| 最新高清无码专区| 免费久久久一本精品久久区| 国产在线一区二区三区四区| 性欧美1819性猛交| 久久国内精品视频| 国产视频一区在线观看一区免费| 亚洲一区二区三区精品在线| 亚洲影院污污.| 国产精品av一区二区| 夜夜嗨网站十八久久| 亚洲午夜小视频| 欧美午夜精品久久久久久浪潮| 亚洲清纯自拍| 一本久道久久综合狠狠爱| 欧美日韩国产免费| 一本色道久久综合亚洲精品小说 | 卡通动漫国产精品| 黄色综合网站| 亚洲国产天堂久久综合| 久久亚洲一区二区| 精品白丝av| 亚洲精品视频免费在线观看| 欧美激情精品久久久久久| 亚洲黄色尤物视频| 91久久久久久| 亚洲看片网站| 欧美高清视频一区二区三区在线观看 | 欧美大片免费久久精品三p | 国产欧美日韩中文字幕在线| 亚洲在线播放电影| 欧美亚洲网站| 国产欧美三级| 午夜一区二区三区在线观看| 久久狠狠一本精品综合网| 国产一区二区丝袜高跟鞋图片 | 久久精品国产69国产精品亚洲 | 欧美伊人精品成人久久综合97| 久久精品国产精品亚洲精品| 国产真实久久| 亚洲欧洲日产国码二区| 欧美国产视频日韩| 洋洋av久久久久久久一区| 亚洲在线免费视频| 国产欧美日本一区二区三区| 欧美专区第一页| 欧美va亚洲va香蕉在线| 99re视频这里只有精品| 亚洲欧美日韩在线综合| 国产有码一区二区| 亚洲精品久久视频| 欧美视频免费在线观看| 午夜精品久久久久久| 老司机久久99久久精品播放免费 | 日韩午夜激情av| 国产精品多人| 欧美在线二区| 欧美精品久久久久久久久久| 一区二区免费在线播放| 欧美一区亚洲一区| 在线成人av.com| 亚洲一区二区视频在线| 国产偷自视频区视频一区二区| 久久gogo国模裸体人体| 欧美精品一区三区| 亚洲一级特黄| 免费成人高清视频| 亚洲少妇自拍| 久久五月激情| 夜夜爽av福利精品导航| 欧美一区日韩一区| 亚洲欧洲日本在线| 午夜日韩在线观看| 亚洲国产成人av| 午夜精品一区二区三区在线播放| 国产综合欧美| 亚洲一区二区动漫| 狠狠色丁香久久婷婷综合丁香| 一本一本久久a久久精品综合妖精| 国产精品丝袜白浆摸在线| 亚洲国产日韩欧美在线动漫| 欧美色欧美亚洲另类二区| 久久aⅴ乱码一区二区三区| 欧美日韩一区二区三区视频| 欧美一区影院| 国产精品99一区| 亚洲人成网站777色婷婷| 国产精品亚洲视频| av不卡在线观看| 激情成人亚洲| 亚洲欧美日本国产有色| 亚洲高清久久久| 久久久99国产精品免费| 99在线热播精品免费| 蜜臀91精品一区二区三区| 亚洲欧美日韩精品在线| 欧美日韩精品免费观看视频| 亚洲国产精品123| 国产伦理一区| 亚洲在线视频| 亚洲精品乱码久久久久|