《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于中標麒麟操作系統的串口調試方法研究
基于中標麒麟操作系統的串口調試方法研究
來源:微型機與應用2012年第10期
郭付才, 劉志華
(解放軍理工大學 氣象學院探測與信息工程系,江蘇 南京211101)
摘要: 為了實現中標麒麟操作系統下的串口調試,提出了兩種調試方法:利用系統自帶的minicom調試工具;采用圖形化用戶界面開發軟件Qt4編寫調試程序的方法。分別對VGA8×4矩陣切換器進行串口通信控制實驗。實驗結果表明,兩種調試方法都能成功實現對矩陣切換器的控制,且都比較簡單實用。
Abstract:
Key words :

摘  要: 為了實現中標麒麟操作系統下的串口調試,提出了兩種調試方法:利用系統自帶的minicom調試工具;采用圖形化用戶界面開發軟件Qt4編寫調試程序的方法。分別對VGA8×4矩陣切換器進行串口通信控制實驗。實驗結果表明,兩種調試方法都能成功實現對矩陣切換器的控制,且都比較簡單實用。
關鍵詞: 中標麒麟操作系統; 串口調試; minicom; Qt4; 矩陣切換器

    目前,由于國產的中標麒麟操作系統有著高安全性,以及其功能、穩定性、效率方面都達到國外同類產品水平,部分指標還要優于國外同類產品,極大地降低了采購成本及維護成本等特點,中標麒麟操作系統逐步地應用到了部隊、國家大型的建設項目、企事業單位中,如國家電網D5000項目等[1]。串口作為一種廣泛應用的計算機接口,計算機對設備進行通信控制幾乎都是通過串口進行的。在中標麒麟操作系統下進行串口調試與Windows不同,本文將介紹兩種中標麒麟操作系統下的串口調試方法。
1 串口編程
     在任何操作系統下,串口調試程序的編寫都是按照打開串口設備、初始化串口和串口讀寫操作的步驟進行[2]。
1.1 打開串口
    中標麒麟操作系統與Linux系統類似都是基于文件的,把硬件設備都看作文件,對硬件設備進行操作,就是對設備文件的操作[3]。串口設備的設備文件是用“/dev/ttyS0”、“/dev/ttyS1”來命名的,Windows下的“COM1”對應于中標麒麟下的“/dev/ttyS0”。打開串口只需要調用open()函數打開設備文件即可。
1.2 初始化串口
    串口的初始化設置包括波特率、數據位、奇偶校驗位、停止位和流控制設置。對它們各自進行設置時都有多種選擇,因此編程時一般采用switch()函數實現。
1.3 串口讀寫操作
    串口工作模式有阻塞方式和非阻塞方式兩種。阻塞方式比較簡單,當對串口進行操作時,如果條件不滿足,操作會被阻塞,只有條件滿足時操作才會進行;非阻塞方式是采用輪詢對串口進行操作,編程時可以定義一個定時函數,通過定時實現對串口緩沖區的訪問[2]。
2 minicom串口調試軟件
2.1 minicom簡介

     minicom的功能與Windows系統下的超級終端類似,計算機可以利用此軟件通過串口控制外部硬件設備。
2.2 minicom安裝
    中標麒麟操作系統最新發行版(NeoKylin3.2.1)的系統盤中集成有minicom的rpm安裝包,因此只需要將系統盤插入電腦,打開終端,運行#yum list | grep minicom 命令查看minicom的版本, 然后采用#yum install命令安裝。
2.3 minicom配置及使用
      第一次運行minicom,為了保證minicom能正確地對CPU進行讀寫操作,需要對minicom的端口和波特率等進行配置[4]。
    進入root輸入#minicom-s命令,確定后會彈出minicom的配置界面如圖1所示。

2.4 minicom控制VGA8×4矩陣切換器
    VGA8×4是8輸入4輸出的矩陣切換器,它具有標準的RS-232串行通信接口,用戶可以通過RS-232接口,進行計算機遠端控制。其通信控制協議:波特率為9 600 b/s,數據位為8 bit,停止位1 bit,沒有奇偶校驗位和流控制位。控制命令格式為:設備號+輸出端口號+控制符+輸入端口號+!。其中“設備號”和“控制符”都是1個字符位,“輸出端口號”和“輸入端口號”都是2 bit數字,“!”是命令結束符。例如:設備號為A,以視頻控制方式(控制符為“[”),第3路輸入信號切換到第1路輸出,其控制命令為“A01[03!”。如果控制成功,矩陣切換器前面板中由4個數碼管組成的狀態顯示區會顯示“0103”4個數字,它表示矩陣切換器當前的狀態為第1路輸出信號是由第3路輸入的[5]。
    利用minicom控制矩陣切換器以視頻控制方式,第3路輸入后由第2路輸出的控制實驗如圖3所示。圖3中上側圖顯示minicom發送的控制名令為A02[03!,下側圖可以看出矩陣切換器前面板4個數碼管顯示0203,這說明控制實驗成功。

3 Qt4編寫串口調試程序
3.1 Qt簡介

   Qt是挪威的Trolltech公司開發的面向對象的C++圖形用戶界面程序開發框架。Qt以其作為一個跨平臺框架而著稱,它使用“一次編寫,隨處編譯”的方式為開發包括Windows、Linux和Mac等多平臺的應用軟件提供方便,在中標麒麟操作系統下也可以用Qt編程。Qt擁有直觀、強大的API,用戶只要具備一定的C/C++基礎,就能夠快速地用Qt編寫應用程序[6]。
    NeoKylin3.2.1系統安裝盤中集成有Qt4.6版本的rpm安裝包,要想安裝Qt只需將系統盤插入電腦,采用install命令就能把Qt4.6安裝到自己的電腦中。
3.2 Qt串口編程
    到目前為止,Qt的發行版本中還沒有專門針對串口定義控制類,要用Qt編寫串口調試程序,最簡單的方法是使用第三方編寫的Qextserialport類[7-8]。Qextserialport繼承自Qt定義的對輸入/輸出設備操作的基類QIODevice。Qextserialport類中完整定義了包括打開串口、串口初始化設置和讀寫串口的一系列操作。使用Qextserialport類編寫串口調試程序時,只需將串口操作相關的參數傳遞給它,就能完成相應的功能。因此,使用Qextserialport類編寫串口調試程序時,只需要編寫很少的代碼就能實現串口調試的功能。
3.3 Qt4編寫VGA8×4矩陣切換器控制程序
    控制要求:矩陣切換器的第3路輸出連接一個40英寸的大屏幕顯示器,第1路至第4路輸入分別連接4臺計算機,要求編寫控制程序,通過4個控制按鈕實現大屏幕顯示器可以選擇顯示4臺計算機。
    根據前面矩陣切換器的介紹可知4個按鈕發送的控制命令分別是:A03[01!、A03[02!、A03[03!和A03[04!。Qt中定義了信號與槽機制,槽與信號連接在一起,每當發射這個信號時,就會自動調用這個槽。在設計4個按鈕時,就用信號與槽機制,當點擊按鈕時,會發送一個信號,同時定義一個響應槽函數實現相應數據的發送。控制程序流程圖4所示,程序界面如圖5所示。
    部分程序代碼如下:
    mySerial = new
    Posix_QextSerialPort("/dev/ttyS0",QextSerialBase::Polling );
              //定義串口對象,指定串口名,使用查詢方式
    mySerial ->open(QIODevice::ReadWrite);
                                  //以讀寫方式打開串口
    mySerial ->setBaudRate(BAUD9600);
                              //波特率設置為9 600 b/s
    mySerial ->setDataBits(DATA_8);
                                  //設置數據位為8 bit
    mySerial ->setParity(PAR_NONE);
                                 //奇偶校驗設置為無校驗
    mySerial ->setStopBits(STOP_1);
                                  //停止位設置為1 bit
    myCom->setFlowControl(FLOW_OFF);
                            //流控制設置為無流控制[7]
    圖5和圖6顯示了通過Qt4編程控制矩陣切換器實現大屏幕顯示2號計算機的實驗情況。根據顯示結果可知,控制實驗成功。

 

 

    文中提出的兩種方法都能夠實現中標麒麟操作系統下的串口調試。采用minicom不需要自己編程,但是使用時不夠方便,不夠直觀;使用Qt4編寫串口調試程序,比較簡潔、直觀,同時它還可以集成到一個大型程序中,作為一個子模塊而存在。
參考文獻
[1] UGMBBC. 麒麟安全操作系統獲國家電網2011采購大單[EB/OL].(2011-09-07)[2011-12-19].http://www.cnbeta.com/articles/154312.htm.
[2] 李萌. Linux操作系統多串口編程技術[J].火控雷達技術,2008(3):88-95.
[3] 鳥哥. 鳥哥的Linux私房菜基礎學習篇[M].北京:人民郵電出版社,2010.
[4] 劉昆. 應用minicom實現對ARM嵌入式CPU的讀寫操作[J].科技創新導報,2008(6):197.
[5] 矩陣切換器使用說明書[M]. 成都訊維信息技術有限公司,2010.
[6] BLANCHETTE J,SUMMERFIELD M. C++ GUI Programming with Qt4(第二版)[M].閆峰欣,曾泉人,張志強,譯.北京:電子工業出版社,2008.
[7] YAFEILINUX. Qt串口通信專題教程[EB/OL].(2010-07-08) [2011-12-20]. http://www.yafeilinux.com/?p=820.
[8] BFOSD.qextserialport[EB/OL].(2009-05)[2011-12-20].http://code.google.com/p/qextserialport/.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜精品久久久久久久99水蜜桃| 亚洲电影视频在线| 国产一区二区三区在线免费观看 | 久久精品99国产精品日本| 亚洲欧美日本国产有色| 亚洲一区激情| 亚洲男女自偷自拍图片另类| 正在播放日韩| 亚洲天堂男人| 亚洲欧美激情一区二区| 亚洲免费小视频| 亚洲视频一区在线观看| 亚洲一区免费看| 亚洲欧美在线视频观看| 香蕉成人久久| 久久精品视频在线播放| 久久视频精品在线| 欧美ed2k| 欧美日韩专区在线| 国产精品久久久久毛片大屁完整版 | 亚洲激情欧美| 亚洲精品一二三| 亚洲最新色图| 亚洲一区在线免费| 西西人体一区二区| 久久精品道一区二区三区| 亚洲国产一区二区在线| 欧美久久久久久久| 欧美日本国产| 国产精品国产三级国产aⅴ9色| 国产精品日韩在线| 狠狠色噜噜狠狠色综合久| 在线播放日韩| 日韩视频中午一区| 亚洲一区欧美一区| 欧美在线免费视屏| 亚洲精品国偷自产在线99热| 亚洲一级高清| 久久精品亚洲一区二区三区浴池| 久久综合久久综合这里只有精品| 欧美ab在线视频| 欧美体内谢she精2性欧美| 国产欧美日韩在线视频| 樱花yy私人影院亚洲| 日韩午夜精品| 欧美一级久久| 日韩视频久久| 久久动漫亚洲| 欧美精品一区二区三区高清aⅴ| 欧美午夜精品久久久久久超碰| 国产午夜精品久久| 最新国产成人av网站网址麻豆| 亚洲午夜一级| 亚洲激情在线观看| 亚洲永久网站| 欧美成人激情视频免费观看| 欧美一区影院| 免费在线观看成人av| 国产精品草草| 黄色成人av网| 日韩午夜在线电影| 久久本道综合色狠狠五月| 一区二区动漫| 久久久久国产精品厨房| 欧美日韩亚洲一区二区三区在线 | 国产一区91| 亚洲精品在线观| 欧美在线一二三区| 亚洲午夜激情| 欧美大片va欧美在线播放| 国产欧美日韩亚洲精品| 亚洲免费激情| 久久精品视频va| 亚洲欧美电影在线观看| 欧美黑人多人双交| 国产一区二区三区四区五区美女| 日韩视频免费观看高清在线视频| 欧美一区久久| 亚洲欧美影院| 欧美区国产区| 一区二区三区无毛| 午夜在线视频一区二区区别| 一区二区三区不卡视频在线观看| 久久综合国产精品台湾中文娱乐网| 国产精品久久久久久久电影 | 欧美性开放视频| 亚洲国产婷婷综合在线精品| 欧美一区二区视频在线观看| 亚洲综合第一| 欧美日本一区二区三区| …久久精品99久久香蕉国产| 欧美夜福利tv在线| 午夜精品一区二区三区在线视| 欧美激情综合色| 在线成人激情视频| 欧美一区二区三区四区夜夜大片| 亚洲在线一区二区| 欧美肥婆在线| 尤物精品在线| 亚洲国产mv| 久久一区国产| 国内视频一区| 欧美一区午夜精品| 欧美一区在线直播| 国产精品毛片a∨一区二区三区| 亚洲精品中文字幕在线| 亚洲精品日韩精品| 欧美电影免费| 亚洲国产欧美精品| 亚洲七七久久综合桃花剧情介绍| 六月婷婷久久| 在线观看不卡av| 亚洲国产va精品久久久不卡综合| 久久精品首页| 国产视频精品xxxx| 先锋影音一区二区三区| 久久国产手机看片| 国产日韩欧美a| 欧美一级久久久| 久久久久天天天天| 一区二区三区在线免费观看| 亚洲国产mv| 欧美第一黄网免费网站| 亚洲激情女人| 一本色道久久综合亚洲91| 欧美日本国产| 中文久久精品| 性色一区二区三区| 国产丝袜美腿一区二区三区| 午夜国产精品视频| 久久九九国产| 在线成人免费观看| 日韩天堂av| 欧美系列亚洲系列| 亚洲欧美国产va在线影院| 欧美在线网站| 在线播放日韩欧美| 一本久久a久久精品亚洲| 欧美日韩一区二区三区在线看 | 亚洲精品一二区| 欧美日韩一区二区三区在线| 在线一区免费观看| 欧美在线视频a| 欲香欲色天天天综合和网| 日韩亚洲成人av在线| 欧美体内谢she精2性欧美| 亚洲欧美日韩人成在线播放| 久久久亚洲欧洲日产国码αv | 一区二区免费看| 国产精品色在线| 久久国产精品黑丝| 欧美裸体一区二区三区| 亚洲一区二区三区在线| 久久一区亚洲| 99国产精品私拍| 久久精品官网| 亚洲欧洲精品一区二区三区 | 亚洲激情婷婷| 亚洲欧美日韩国产综合精品二区| 国产日韩在线看| 亚洲日本中文字幕| 国产精品久久一区主播| 久久精品国亚洲| 欧美日韩国产成人| 午夜精品福利在线观看| 牛夜精品久久久久久久99黑人 | 亚洲日本aⅴ片在线观看香蕉| 欧美视频不卡中文| 欧美在线观看一区二区| 欧美精选一区| 性欧美1819sex性高清| 欧美国产综合一区二区| 亚洲一区二区三区涩| 另类图片国产| 亚洲一区视频在线| 欧美电影美腿模特1979在线看| 亚洲一区二区在线免费观看视频 | 一区二区日本视频| 韩国精品在线观看| 在线一区二区三区四区五区| 国产三级欧美三级日产三级99| 一区二区不卡在线视频 午夜欧美不卡'| 国产欧亚日韩视频| 亚洲视频在线观看网站| 国产一区二区在线观看免费播放| 一区二区免费在线视频| 狠狠色丁香婷婷综合| 亚洲女优在线| 亚洲人线精品午夜| 久久久国产亚洲精品| 这里只有精品在线播放| 免费在线日韩av| 午夜视频精品| 欧美午夜a级限制福利片| 亚洲日本免费| 国内精品伊人久久久久av影院 | 久久久久国产成人精品亚洲午夜| 99国产精品国产精品毛片| 免费一级欧美在线大片| 欧美一区激情视频在线观看|