当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]中标麒麟操作系统串口调试方法研究

 目前,由于国产的中标麒麟操作系统有着高安全性,以及其功能、稳定性、效率方面都达到国外同类产品水平,部分指标还要优于国外同类产品,极大地降低了采购成本及维护成本等特点,中标麒麟操作系统逐步地应用到了部队、国家大型的建设项目、企事业单位中,如国家电网D5000项目等[1]。串口作为一种广泛应用的计算机接口,计算机对设备进行通信控制几乎都是通过串口进行的。在中标麒麟操作系统下进行串口调试与Windows不同,本文将介绍两种中标麒麟操作系统下的串口调试方法

1串口编程

在任何操作系统下,串口调试程序的编写都是按照打开串口设备、初始化串口和串口读写操作的步骤进行[2]。

1.1打开串口

中标麒麟操作系统与Linux系统类似都是基于文件的,把硬件设备都看作文件,对硬件设备进行操作,就是对设备文件的操作[3]。串口设备的设备文件是用“/dev/ttyS0”、“/dev/ttyS1”来命名的,Windows下的“COM1”对应于中标麒麟下的“/dev/ttyS0”。打开串口只需要调用open()函数打开设备文件即可。

1.2初始化串口

串口的初始化设置包括波特率、数据位、奇偶校验位、停止位和流控制设置。对它们各自进行设置时都有多种选择,因此编程时一般采用switch()函数实现。

1.3串口读写操作

串口工作模式有阻塞方式和非阻塞方式两种。阻塞方式比较简单,当对串口进行操作时,如果条件不满足,操作会被阻塞,只有条件满足时操作才会进行;非阻塞方式是采用轮询对串口进行操作,编程时可以定义一个定时函数,通过定时实现对串口缓冲区的访问[2]。

2minicom串口调试软件

2.1minicom简介

minicom的功能与Windows系统下的超级终端类似,计算机可以利用此软件通过串口控制外部硬件设备。

2.2minicom安装

中标麒麟操作系统最新发行版(NeoKylin3.2.1)的系统盘中集成有minicom的rpm安装包,因此只需要将系统盘插入电脑,打开终端,运行#yumlist|grepminicom命令查看minicom的版本,然后采用#yuminstall命令安装。

2.3minicom配置及使用

第一次运行minicom,为了保证minicom能正确地对CPU进行读写操作,需要对minicom的端口和波特率等进行配置[4]。

进入root输入#minicom-s命令,确定后会弹出minicom的配置界面如图1所示。

选择Serialportsetup进入串口设置,如图2。根据实际要求设置好串口名、波特率、数据位、停止位、奇偶校验位和流控制等,然后按回车退出到配置界面。选择Savesetupasdfl保存配置信息,再选择Exit退出配置界面回到minicom使用界面,然后就可以按照提示进行串行数据收发。

2.4minicom控制VGA8×4矩阵切换器

VGA8×4是8输入4输出的矩阵切换器,它具有标准的RS-232串行通信接口,用户可以通过RS-232接口,进行计算机远端控制。其通信控制协议:波特率为9600b/s,数据位为8bit,停止位1bit,没有奇偶校验位和流控制位。控制命令格式为:设备号+输出端口号+控制符+输入端口号+!。其中“设备号”和“控制符”都是1个字符位,“输出端口号”和“输入端口号”都是2bit数字,“!”是命令结束符。例如:设备号为A,以视频控制方式(控制符为“[”),第3路输入信号切换到第1路输出,其控制命令为“A01[03!”。如果控制成功,矩阵切换器前面板中由4个数码管组成的状态显示区会显示“0103”4个数字,它表示矩阵切换器当前的状态为第1路输出信号是由第3路输入的[5]。

利用minicom控制矩阵切换器以视频控制方式,第3路输入后由第2路输出的控制实验如图3所示。图3中上侧图显示minicom发送的控制名令为A02[03!,下侧图可以看出矩阵切换器前面板4个数码管显示0203,这说明控制实验成功。

3Qt4编写串口调试程序

3.1Qt简介

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.2Qt串口编程

到目前为止,Qt的发行版本中还没有专门针对串口定义控制类,要用Qt编写串口调试程序,最简单的方法是使用第三方编写的Qextserialport类[7-8]。Qextserialport继承自Qt定义的对输入/输出设备操作的基类QIODevice。Qextserialport类中完整定义了包括打开串口、串口初始化设置和读写串口的一系列操作。使用Qextserialport类编写串口调试程序时,只需将串口操作相关的参数传递给它,就能完成相应的功能。因此,使用Qextserialport类编写串口调试程序时,只需要编写很少的代码就能实现串口调试的功能。

3.3Qt4编写VGA8×4矩阵切换器控制程序

控制要求:矩阵切换器的第3路输出连接一个40英寸的大屏幕显示器,第1路至第4路输入分别连接4台计算机,要求编写控制程序,通过4个控制按钮实现大屏幕显示器可以选择显示4台计算机。

根据前面矩阵切换器的介绍可知4个按钮发送的控制命令分别是:A03[01!、A03[02!、A03[03!和A03[04!。Qt中定义了信号与槽机制,槽与信号连接在一起,每当发射这个信号时,就会自动调用这个槽。在设计4个按钮时,就用信号与槽机制,当点击按钮时,会发送一个信号,同时定义一个响应槽函数实现相应数据的发送。控制程序流程图4所示,程序界面如图5所示。[!--empirenews.page--]

部分程序代码如下:

mySerial=new

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

//定义串口对象,指定串口名,使用查询方式

mySerial->open(QIODevice::ReadWrite);

//以读写方式打开串口

mySerial->setBaudRate(BAUD9600);

//波特率设置为9600b/s

mySerial->setDataBits(DATA_8);

//设置数据位为8bit

mySerial->setParity(PAR_NONE);

//奇偶校验设置为无校验

mySerial->setStopBits(STOP_1);

//停止位设置为1bit

myCom->setFlowControl(FLOW_OFF);

//流控制设置为无流控制[7]

图5和图6显示了通过Qt4编程控制矩阵切换器实现大屏幕显示2号计算机的实验情况。根据显示结果可知,控制实验成功。

文中提出的两种方法都能够实现中标麒麟操作系统下的串口调试。采用minicom不需要自己编程,但是使用时不够方便,不够直观;使用Qt4编写串口调试程序,比较简洁、直观,同时它还可以集成到一个大型程序中,作为一个子模块而存在。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

今天,小编将在这篇文章中为大家带来Windows 11系统的有关报道,通过阅读这篇文章,大家可以对Windows 11系统具备清晰的认识,主要内容如下。

关键字: Windows 操作系统

全新随插即用方案简化虚拟化实时IIoT平台的设置

关键字: 计算机模块 IIoT 操作系统

目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco Studio也迎来功能更细化的4.1版本。

关键字: HarmonyOS 操作系统

华为P40是一款备受关注的高端智能手机,搭载了华为自研的鸿蒙操作系统。鸿蒙系统作为华为自主研发的操作系统,具有高度的可定制性和扩展性,能够为用户带来全新的使用体验。本文将详细介绍华为P40鸿蒙系统的升级方法,帮助用户更好...

关键字: 华为P40 智能手机 操作系统

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机

Linux操作系统是一套免费使用和自由传播的类Unix操作系统,通常被称为GNU/Linux。它是由林纳斯·托瓦兹在1991年首次发布的,并基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Lin...

关键字: Linux 操作系统

华为鸿蒙系统作为华为推出的全新一代操作系统,自发布以来备受关注。本文将对华为鸿蒙系统的实际体验进行详细评测,旨在帮助读者了解该系统的优缺点。

关键字: 华为 鸿蒙系统 操作系统

随着华为鸿蒙OS系统的发布,越来越多的人开始关注这一全新的操作系统。鸿蒙OS系统的界面设计作为用户体验的重要组成部分,也备受关注。本文将详细介绍鸿蒙操作系统界面的设计理念、特点以及与其他系统的对比。

关键字: 华为鸿蒙 操作系统 界面设计
关闭
关闭