搜档网
当前位置:搜档网 › 嵌入式LINUX+ARM学习——WIN7超极终端与串口设置

嵌入式LINUX+ARM学习——WIN7超极终端与串口设置

嵌入式LINUX+ARM学习——WIN7超极终端与串口设置
嵌入式LINUX+ARM学习——WIN7超极终端与串口设置

花了大半天时间终于把开发板的超级终端配置好了,由于是自学ARM,很多东西都是自己在摸索,没有人指导,只能依靠网络,但有时在网上了半天资料,也解决不了问题,虽然没有直接找到答案,不过还是会有很多启发,最终把问题给灭掉,下面就把WIN7下超级终端与串口设置中遇到的问题与解决方法同大家分享一下。

首先先说一下我的实验设备,PC是WIN7系统的笔记本电脑,PC上没有串口,买了一个USB转串口线,开发板是GT2440,有一个串口。实验目的是让开发板一上电后把启动信息通过串口显示到PC机的超级终端上,并与PC进行串口通信。实验原理是通过USB转串口线把PC的USB端口转换成串口,与开发板串口进行物理连接,然后用超级终端进行软件连接,PC与开发板的串口就连接起来了,这样,开发板就能与PC进行串口通信了。

首先安装超级终端,我的WIN7里没有超级终端,那么什么是超级终端了,网上很多人把超级终端和Telne混淆了,超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示器”。超级终端的原理是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入。它显示的是从串口接收到的字符。所以,嵌入式系

统的相应程序应该完成的任务便是: 1、将自己的启动信息、过程信息主动发到运行有超级终端的主机; 2、将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机。而Telnet是远程登录,Telnet协议是TCP/IP 协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行就像直接在服务器的控制台上

输入一样。可以在本地就能控制服务器。要开始一个telnet 会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法,我们能用超级终端通过telnet去控制别的电脑,但我们这里暂时还用不上Telnet。刚开始去网上搜索超级终端,却搜了一大堆Telnet出来,WIN7没超级终端和WIN7没安装Telnet没有关系,所以不用去点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet

服务器”,最后“确定”去安装telnet。其实,超级终端只是一个软件而已,如果像Xp安装了终端,我们只要依次点开始--程序--附件--通讯--超级终端,就能打开这个软件,而在WIN7下一般WINDOWS不会自动安装,所以,我们后打

开附件后就没有通讯选项,也就把不开超级终端,我们只要随便去网上找个超级终端版本下载下来安装起来就行了。最好是去官网

https://www.sodocs.net/doc/0214890683.html,/hyperterminal-trial/先下载一个安装后,在到其它地方下载一个,这样做的原因就是官网下有图标,但有30天试用期,试用期过后就要RMB了,而且是英文,而在其它地方下的大部分没图标,我们只要在其它地方下载hypertrm.dll、HyperTerminal.exe这两个文件就行了,或者在其它电脑安装有超级终端把这两个拷贝过来了行,再把安装文件夹原有的这两个文件覆盖掉就行了,这样有图标,是中文的,而且没有试用期。最终图片如下,

下一步设置超级终端。为了通过串口连接GT2440,必须使用一个模拟终端程序,几乎所有的类似软件都可以使用,其中MS-Windows 自带的超级终端是最常用的选择,当你安装Windows9x 时需要自定义选择安装该项,Windows2000 及

更高版本则已经缺省安装。在此着重介绍一下Windows自带的超级终端程序,以XP 为例,或许其他Windows 版本的程序界面有所不同。超级终端程序通常位于"开始->程序->附件->通讯"中,选择运行该程序,一般会跳出如图所示窗口,询问你是否要将Hypertrm作为默认的telnet程序,此时你不需要,因此点“否”按钮。

接下来,会跳出如下窗口,点“取消”

此时系统提示“确认取消”,点“是”即可,接着点提示窗口的“确定”,

进入下一步。

超级终端会要求你为新的连接取一个名字,如图所示,这里我取了”ttyS0”,Windows系统会禁止你取类似”COM1”这样的名字,因为这个名字被系统占用了。

当你命名完以后,又会跳出一个对话框,你需要选择连接GT2440的串口,我这里选择了串口1,如图所示:

最后,最重要的一步是设置串口,注意必须选择无流控制,否则,或许你只能看到输出而不能输入,另外板子工作时的串口波特率是115200,如图所示。

当所有的连接参数都设置好以后,打开电源开关,系统会出现 BIOS 启动界面。选择超级终端“文件”菜单下的“另存

为…”,保存该连接设置,以便于以后再连接时就不必重新执行以上设置了。

可当我设置到选择COM1时,在连接使用时却没有COM1,只有TCP/IP(winsock)选项,这个问题我在网上找了很多资料,看了很多信息,还是没有把这个问题解决,不过再这些信息中提到最多是设备管理器,后来我进设备管理器看了下,也没有这个端口,这时我才找到了问题的关键点,没有这个端口,是正常的,因为我的是笔记本电脑,本就没有串口,但我不是用了USB转串口线吗,这也相当于给电脑添加了一个串口设备,想到这里,我才恍然大悟,既然添加了设备,但没有安装安装USB转串口的驱动程序,第一次连计算机是提醒没有驱动程序,没有引起我没有注意,但后来再连接时,没有提醒,也就忘记安驱动了,后来在网上下了一个USB转串口的驱动安装后,计算机就能检测到这个设备了,在设备管理器显示为Prolific USB-to-Serial Comm

Port(COM4),这时在超级终端里也出现了COM4,但我们要的是COM1,以便和开发板设置一致,这时我们只要在设备管理器中找到这个设备,在这个设备上右击然后点属性,出现下面对话框,再点端口设置,出现如图所示,

再点高级,又出现一对话框,

然后我们在COM端口号那里的下拉菜单中设置为COM1就行了,到此端口号设置完毕。接下来打开发板的电源,开发板的启动信息就能在超级终端里显示了,还可以进行PC与开发板进行串口通信调试。

接下来PC与开发板进行串口通信调试,通过上面的步

骤以为一切都OK了,可是在调试时又遇到了问题,进入BIOS 时,无法在超极终端里输入字符,无法对BIOS提示的信息输入选项与命令,比如出现Enter your selection:时,再怎么按键开发板都没有反应,还有就是通过开发板里的串口调试工具进行调试里,只能从开发板发送信息到PC,PC发送信息到开发板,针对这些问题在网上一些论谈一搜有很多人和我一样遇到了同样的问题,要么是没有办法解决,要么是有办法解决,却不提解决的办法,真的是郁闷死~~~,不过还好,最终还是找到了答案。

首先不能在出现“Enter your selection: ”时输入字符,我们只去超极终端属性里去设置一下就行了,点文件-> 属性-> 设置-> ASCII设置->本地回显键入的字符,如下图:

这样虽说我们能向超极终端里输入字符了,但我们还是不能进入BIOS命令选择,按Enter后无反应,这只说明我们在键入字符,只是向串口发送了一字符,然后回显到终端上,并不能对开发板的BIOS进行操作,这个问题难住我了好久,网上很多人说是串口线的连接不行和终端设置有误的原因,但我从为两个方面去弄,怎么都不行,实在是没办法,不得已就想换台PC看行不行,去换了XP的笔记本电脑,嘿嘿,居然问题全解决了,这时才找到了答案,那就WIN7与XP的区别,但也不是说WIN7的就不行,只是USB转串口线的驱动有问题,当时安装这个驱动时只是随便在网上找的,没有看它是否支持WIN7系统,后来从新从网上下了个支持WIN7的USB转串口线的驱动,问题解决了,能对BIOS进行操作了,而且不去设置什么回显也能输入字符了,串口调试时从PC发送信息,开发板也能接收到信息了,现在才大功告成,这时除了兴奋还是兴奋。

其实,虽然我们PC为COM4,开发板为COM1里,我打开超级终端和开发板电源时,超级终端上就可以显示启动信息了,不过使用串口调试助手就不行了。具体原因我也不清楚,希望那位大侠能指点一下,QQ379759872。

linux串口编程参数配置详解

linux串口编程参数配置详解 1.linux串口编程需要的头文件 #include //标准输入输出定义 #include //标准函数库定义 #include //Unix标准函数定义 #include #include #include //文件控制定义 #include //POSIX中断控制定义 #include //错误号定义 2.打开串口 串口位于/dev中,可作为标准文件的形式打开,其中: 串口1 /dev/ttyS0 串口2 /dev/ttyS1 代码如下: int fd; fd = open(“/dev/ttyS0”, O_RDWR); if(fd == -1) { Perror(“串口1打开失败!”); } //else //fcntl(fd, F_SETFL, FNDELAY); 除了使用O_RDWR标志之外,通常还会使用O_NOCTTY和O_NDELAY这两个标志。 O_NOCTTY:告诉Unix这个程序不想成为“控制终端”控制的程序,不说明这

个标志的话,任何输入都会影响你的程序。 O_NDELAY:告诉Unix这个程序不关心DCD信号线状态,即其他端口是否运行,不说明这个标志的话,该程序就会在DCD信号线为低电平时停止。 3.设置波特率 最基本的串口设置包括波特率、校验位和停止位设置,且串口设置主要使用termios.h头文件中定义的termios结构,如下: struct termios { tcflag_t c_iflag; //输入模式标志 tcflag_t c_oflag; //输出模式标志 tcflag_t c_cflag; //控制模式标志 tcflag_t c_lflag; //本地模式标志 cc_t c_line; //line discipline cc_t c_cc[NCC]; //control characters } 代码如下: int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300, B384 00, B19200, B9600, B4800, B2400, B1200, B300, }; int name_arr[] = {38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9 600, 4800, 2400, 1200, 300, }; void SetSpeed(int fd, int speed) { int i; struct termios Opt; //定义termios结构 if(tcgetattr(fd, &Opt) != 0) { perror(“tcgetattr fd”); return; }

如何使用widows自带的超级终端

在调试MCU系统时,我们常用widows自带的超级终端来做为显示。 通过点击开始→程序→附件→通讯中的超级终端,我们可以打开一个新的终端。然后设置好名称,选择好端口(如COM1),波特率(即每秒位数),数据位(通常选择8位),奇偶校验(一般选择无),停止位,数据流控制( 一般选择无),然后就可以开始使用超级终端了。用键盘直接在超级终端输入 字符,就会通过串口发送出去,在没有设置回显时,输入的是看不到的。 将串口的2脚(即数据接收端)跟3脚(即数据发送端)连接在一起,再敲键盘,就会发现按下的键显示在上面了,这样可以用来检测串口是否工作正常。将单片机的串口通过232电平转换后连接到PC的串口上,就可以通过超级终端来显示信息和发送命令了。 超级终端是windows自带的一个串口调试工具,其使用较为简单,被广泛使用在串口设备的初级调试上。 下面介绍一下一般使用的步骤: 配置连接需要调试串口基本参数,其操作为: 1)选择菜单“文件”下“属性”菜单项。 2)配置调试设备所连接串口“连接时使用”

3)按“配置”按钮进行配置选定串口信息 4)依次选定每秒位数(波特率)等参数,一般情况下MODEM设置波特率后即可,其它位取默认设置。

5)确定退出配置 6)按工具条上“呼叫”按钮连接所调试设备 7)输入英文字母AT然后回车,此时如果设置正确,则会返回英文字母OK )如果参数设置不正确,则提示无法连接,或者连接后无法输入AT字母,此时,请确认步骤2)中串口选择正确、请确认波特率设置正确。 9)大部分GPRS MODEM出厂的时候其波特率已经设置为115200,但是也可能部分设置为9600或者其它。在MODEM支持的范围内,越高的波特率代表了越高的计算机传输数据到MODEM的能力。 常用的几个AT命令 1)AT 测试指令,返回OK表示串口设备正常 2)AT+CGMM

Linux下串口通信编程

Linux下串口通信编程 一、什么是串口通信? 串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。 二、串口通信的分类 串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。 2.1 同步通信 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。 它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。 同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。 2.2 异步通信 异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。 在异步通行中有两个比较重要的指标:字符帧格式和波特率。 (1)字符帧,由起始位、数据位、奇偶校验位和停止位组成。 1.起始位:位于字符帧开头,占1位,始终为逻辑0电平,用于向接收设备表示发送端开始发送一帧信息。 2.数据位:紧跟在起始位之后,可以设置为5位、6位、7位、8位,低位在前高位在后。 3.奇偶校验位:位于数据位之后,仅占一位,用于表示串行通信中采用奇校验还是偶校验。 (2)波特率,波特率是每秒钟传送二进制数码的位数,单位是b/s。 异步通信的优点是不需要传送同步脉冲,字符帧长度也不受到限制。缺点是字符帧中因为包含了起始位和停止位,因此降低了有效数据的传输速率。 三、什么是RS-232? RS-232-C 接口(又称EIA RS-232-C)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的DB25 连接器,对连接器的每个引脚的信号内容加

linux下串口编程简单实例

linux下串口编程简单实例 1、Linux中的串口设备文件存放于/dev目录下,其中串口一,串口二对应设备名依次为“/dev/ttyS0”、“/dev/ttyS1”。在linux下操作串口与操作文件相同。 2、在使用串口之前必须设置相关配置,包括:波特率、数据位、校验位、停止位等。串口设置由下面结构体实现: struct termios{ tcflag_t c_iflag; /*input flags*/ tcflag_t c_oflag; /*output flags*/ tcflag_t c_cflag; /*control flags*/ tcflag_t c_lflag; /*local flags*/ cc_t c_cc[NCCS]; /*control characters*/ }; 该结构中c_cflag最为重要,可设置波特率、数据位、校验位、停止位。在设置波特率时需在数字前加上‘B’,如B9600、B19200。使用其需通过“与”“或”操作方式。 常用的串口控制函数: Tcgetattr 取属性(termios结构) Tcsetattr 设置属性(termios结构) cfgetispeed 得到输入速度 Cfgetospeed 得到输出速度 Cfsetispeed 设置输入速度 Cfsetospeed 设置输出速度 tcflush 刷清未决输入和/或输出 3、串口的配置 (1) 保存原先串口配置使用tcgetattr(fd,&oldtio)函数: struct termios newtio,oldtio; tcgetattr(fd,&oldtio); (2) 激活选项有CLOCAL和CREAD,用于本地连接和接收使能。 newtio.c_cflag | = CLOCAL | CREAD; (3) 设置波特率,使用函数cfsetispeed、cfsetospeed cfsetispeed(&newtio, B115200); cfsetospeed(&newtio, B115200); (4) 设置数据位,需使用掩码设置。 newtio.c_cflag &= ~CSIZE; newtio.c_cflag |= CS8; (5) 设置奇偶校验位,使用c_cflag和c_iflag。 设置奇校验: newtio.c_cflag |= PARENB; newtio.c_cflag |= PARODD; newtio.c_iflag |= (INPCK | ISTRIP); 设置偶校验: newtio.c_iflag |= (INPCK | ISTRIP); newtio.c_cflag |= PARENB; newtio.c_cflag &= ~PARODD;

超级终端使用方法..

计算机的WINDOWS操作系统都有一个叫超级终端的软件,一般安装在附件--通讯里面,如果找不到也许是没有按装,可以用按装盘添加,也可以使用其他的串口调试程序,下面解释超级终端的用法: 一、串口的配置 打开超级终端运行“开始”->“程序”->“附件”->“通讯”-> “超级终端”。 选择通讯端口 通讯设置

二、接收数据 进入对话窗口以后,可以按仪器上的发送健向计算机发送数据(血球仪可以做一次测试就可以看到),如果仪器串口正常则在下面窗口中出现接收到的ASCLL 码的文本。如果接受不到,先检查配置以及线缆,然后再确定是不是串口问题。 三、呼叫设备 按工具条上“呼叫”按钮连接所调试设备

输入英文字母AT然后回车,此时如果设置正确,则会返回英文字母OK 如果参数设置不正确,则提示无法连接,或者连接后无法输入AT字母,此时,请确认串口选择正确、请确认波特率设置正确。 四、与通信设置接受与发送文体文件 首先设置连接文体属性

通讯步骤 在以上的设定工作完成后,则可进行计算机与数控系统的通讯工作了,以下程序名称DEMO.txt为例,进行通讯。 当要接收数控系统的信息时,首先要将计算机的CNC连接打开,打开后从下拉菜单传送中选择捕获文本,并执行该程序,随即显示下图的显示内容,命名DEMO.TXT后,确认开始。

当要发送数控系统的信息时,首先要将数控系统处于接收状态,然后设定计算机的状态,从下拉菜单传送中选择发送文本文件,并执行该程序,随即显示右图的显示内容,选择DEMO.TXT后,确认打开。 通信的编辑格式 ●程序必须使用「%」开始和「%」结束。 ●程序号「O」不用,以「:」开始。 ●「EOB(:)」不要 例: % ………….以「%」开始 :0001 …………. 以「:」取代「O」 G00X100.Y100.Z100. ………….以「EOB(:)」不需输入 G01X100.Y100.Z100.F1000.

Linux下的串口编程

Linux下的串口编程(二) 分类:Linux S3C24402012-03-21 15:52 5557人阅读评论(1) 收藏举报linux编程终端terminalstruct测试 Linxu下的串口编程(二) /************声明:本人只是见到这篇文章对我帮助很大才转载的,但是这个完整的程序里面本来有语法错误的,现在让我改过来了************/ --------------------------------------------------------- Author :tiger-john WebSite :https://www.sodocs.net/doc/0214890683.html,/tigerjb Email :jibo.tiger@https://www.sodocs.net/doc/0214890683.html, Update-Time : 2011年2月14日星期一 Tiger声明:本人鄙视直接复制本人文章而不加出处的个人或团体,但不排斥别人转载tiger-john的文章,只是请您注明出处并和本人联系或留言给我。3Q --------------------------------------------------------- 前面已经提到过Linux下皆为文件,这当然也包括我们今天的主角àUART0串口。因此对他的一切操作都和文件的操作一样(涉及到了open,read,write,close等文件的基本操作)。 一.Linux下的串口编程又那几部分组成

1. 打开串口 2. 串口初始化 3. 读串口或写串口 4. 关闭串口 二.串口的打开 既然串口在linux中被看作了文件,那么在对文件进行操作前先要对其进行打开操作。 1.在Linxu中,串口设备是通过串口终端设备文件来访问的,即通过访问/dev/ttyS0,/dev/ttyS1,/dev/ttyS2这些设备文件实现对串口的访问。

超级终端详细设置方法

5.3. 使用超级终端传输程序 5.3.1.计算机侧的设定步骤 1)在Windows 98/2000/XP中的附件中的通信中选择超级终端,并执行。 该程序运行后则显示下图显示的画面: 2)设定新建连接的名称CNC,并选择连接的图标。设定方法如下图所示: 3)在完成第2项的设定后,用鼠标确认确定按钮,则会出现下图所显示的画面,而后根据本计算机的资源情况设定进行连接的串口,本例子选择为直接

连接到串口1: 4)在完成第3项的设定后,用鼠标确认确定按钮,则会出现下图所显示的画面,该画面即为完成串行通信的必要参数:

5)在完成第4项的设定后,进行设定该CNC连接的属性,在设置的画面中按下图所示的选择设定: 6)在完成第5项的设定后,进行设定ASCII码的设定画面,设定选择按下图所示的选择设定:

在以上的设定工作完成后,则可进行计算机与数控系统的通讯工作了,以下程序名称DEMO.txt为例,进行通讯。 当要接收数控系统的信息时,首先 要将计算机的CNC连接打开,打开后从 下拉菜单传送中选择捕获文本,并执行 该程序,随即显示右图的显示内容,命 名DEMO.TXT后,确认开始。 当要发送数控系统的信息时,首先 要将数控系统处于接收状态,然后设定 计算机的状态,从下拉菜单传送中选择 发送文本文件,并执行该程序,随即显 示右图的显示内容,选择DEMO.TXT后, 确认打开。

5.3.2.电缆的连接 1)市场购买到的RS232C的电缆(25芯-9芯) SD 2 3 SD RD 3 2 RD ER 20 4 ER DR 6 6 DR RS 4 7 RS CS 5 8 CS CD 8 1 CD SG 7 5 SG 2)FANUC 推荐使用的RS-232电缆连接方法(25芯-9芯) SD 2 3 SD RD 3 2 RD RS 4 7 RS CS 5 8 CS ER 20 4 ER DR 6 6 DR CD 8 1 CD SG 7 5 SG

linux 串口输出

1.修改/etc/inittab文件 tty:2345:respawn:/sbin/agetty -L ttyS0 9600 vt100 “tty”为该行ID;“2345”指该行的运行级别是2、3、4、5级;“respawn”使命令退出后再执行一次,以便其它用户能够登录;“/sbin/getty ttyS0 9600 vt100”表示具体 的命令,该命令通过/sbin/getty程序打开串口/dev/ttyS0(COM1),波特率设置为9600bps,终端模式为vt100。 2.修改/etc/securetty文件 该文件是一个被允许以root身份登录的tty设备列表,这些设备由/bin/login程序读取。为了使用户能以root身份通过串口登录,需要在该文件中添加“ttyS0”,告诉系统COM1 是安全的。 3.修改/etc/lilo.conf文件 本文假设系统使用LILO启动。为了使LILO和内核的启动信息能够输出到串口,必须修改/etc/lilo.conf文件,在“linear”一行后添加“serial=0,9600n8”,将 “append="root=LABEL=/"”改为“append="root=LABEL=/ console=ttyS0,9600"”。 serial选项使LILO的启动信息输出到串口,以便选择不同的系统或内核进行启动。其中,“0”表示串口使用COM1;“9600”表示波特率为9600bps;“n”表示无校验位;“8”表 示有8位数据位。 “append="root=LABEL=/ console=ttyS0,9600"”的作用是向内核传递参数,使系统启动信息输出到串口COM1,波特率设为9600bps。修改完成后,重新运行一下LILO命令使配置生 效。 修改grub.conf 完整conf default=0 timeout=10 password --md5 $1$wwmIq64O$2vofKBDL9vZKeJyaKwIeT. serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console title Red Hat Linux (2.4.9-21) root (hd0,0) kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6 console=tty0 console=ttyS0,9600n8 initrd /initrd-2.4.9-21.img title Red Hat Linux (2.4.9-21) single user mode lock root (hd0,0) kernel /vmlinuz-2.4.9-21 ro root=/dev/hda6console=tty0 console=ttyS0,9600n8

超级终端软件CRT的使用方法2016-04-13

超级终端软件CRT的使用方法 资料背景: 此文档主要针对无网络技术基础的人员来普及基本的知识。高手请自动屏蔽。 时间戳:2016-04-13 需要准备的材料: 1、笔记本1台,; 2、CRT软件; 3、USB-DB9串口线一根; 步骤: 1、安装UBS转串口线的驱动 本来安装驱动不需要特殊说明的,光盘安装就行,但是好多通知问过我,在此赘述一下,这里推荐使用“驱动精灵”来安装,插上线以后,自动扫描,再简单不过; 需要注意的是,安装好驱动以后,尽量不要更改所连接电脑

的USB口,就是第一次串口线和电脑的哪个USB对接,下次就尽量使用同一个USB口,更换USB口,驱动有可能失效,或者是造成COM口的变化。 2、Usb转接线安装好驱动以后,在计算机--右键--管理---设备管理器中----查看端口 ---是第几个com口,一般是com 3; 3、下载附件CRT软件,这个软件可以问度娘,也可以发邮件到4517176@https://www.sodocs.net/doc/0214890683.html,向我获取,但是我不能保证何时能回复您的邮件。 4、连接路由器、交换机活其他设备 找到需要调试的设备(已上电)的调试口,网络设备是CONSOLE 口,再找到随设备配置的RJ45转串口的先,TJ45端接在设备的CONSOLE口上,另外一端和自己的USB转接线对接(如果调试电脑上有串口,可以省略USB转串口接线,目前90%新生产笔记本都没有串口)。 5、所有连接做好后,运行CRT程序(如果是我提供的CRT软件,请运行安装中的SecureCRTPortable.exe),参考附件中的图片来设置CRT!如果连接异常,可尝试勾选全部“流控”。协议选择Serial。

Linux串口打印设置

一、基于VM虚拟机linux系统串口配置 配置分为虚拟机下配置及linux系统下minicom配置两部分。 虚拟机模块配置如下: 打开虚拟机配置界面。 选择Edit virtual machine settings。进入配置界面。

选择Add…按钮,添加相关的设备文件。

选中串口选项后继续选择下一步。

此处选择”使用主机上的物理串口设备”选项,继续下一步。此处我们选择文件。 对于物理串口选项,此处可以采用自动检测选项。如果下来菜单中有对应于串口的端口号,则可以选择。注意,对于设备状态,要确保选中“connect at power on“,即,上电连接状态。至此,虚拟机端串口配置完毕。 注意:此处我们串口添加成功后默认未COM2.

Linux下串口配置及使用。 Linux下一般使用minicom来作为串口数据输入输出的终端。类似于Windows下的超级终端。虚拟机下配置完毕后,进入Linux系统中,在Shell 终端下输入minicom -s即可配置串口终端。配置完成后执行minicom启动串口终端。 在终端界面下完成相关的参数配置并保存后,启动终端设备,即可在minicom中观察到数据输出。 <四>Minicom的使用 (1)minicom界面介绍 第一次运行minicom,启动minicom要以root权限登录系统,需要进行minicom的设置,输入下了命令#minicom –s,显示的屏幕如下所示,按

上下光标键进行上下移动选择,我们要对串行端口进行设置,因此选中 Serial port setup,然后回车: __[configuration]─-─—┐//配置 │ Filenames and paths │//文件名和路径 │ File transfer protocols│//文件传输协议 │ Serial port setup │//串行端口设置 │ Modem and dialing │//调制解调器和拨号 │ Screen and keyboard │//屏幕和键盘 │ Save setup as dfl │//设置保存到 │ Save setup as.. │//储存设定为 │ Exit │//退出 │ Exit from Minicom │//退出minicom └──────────┘ (2)minicom的参数设置 选中设置串行端口,点击回车后,弹出设置的界面如下: 点击”A”设置串行设置为/dev/ttyS1,这表示使用串口2(com2),如果是 /dev/ttyS1则表示使用串口2(com 2).按”E”键进入设置”bps/par/Bits”(波 特率)界面,如下图所示。再按”I”以设置波特率为115200,点”F”键硬 件流控制设置为NO,回车 最终的设置结果如下,然后回车返回到串口设置主菜单中 │A-Serial Device(串口设备): /dev/ttyS1 │B-Lockfile Location(锁文件位置): /var/lock │C-Callin Program(调入程序): │D-Callout Program(调出程序): │E-Bps/Par/Bits(): 115200 8N1 │F-Hardware Flow Control(硬件数据流控制): No │G-Software Flow Control(软件数据流控制): No 二、Linux 标准输入输出重定向到串口指南 设置linux 系统的标准输入输出到com2(console 口),以便维护人员 在无网络、无显示器的情况下对系统维护。在各文件(/etc/grub.conf、 /etc/inittab、/etc/securetty)中添加红色部分!文件修改完成后 reboot 系统即可在com2 口看到标准输入输出信息。

Linux--串口操作及设置详解

串口操作需要的头文件 #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/ #include #include #include /*文件控制定义*/ #include /*PPSIX 终端控制定义*/ #include /*错误号定义*/ 1.打开串口 在前面已经提到linux下的串口访问是以设备文件形式进行的,所以打开串口也即是打开文件的操作。函数原型可以如下所示: int open(“DE_name”,int open_Status) 参数说明: (1)DE_name:要打开的设备文件名 比如要打开串口1,即为/dev/ttyS0。 (2)open_Status:文件打开方式,可采用下面的文件打开模式: O_RDONLY:以只读方式打开文件 O_WRONLY:以只写方式打开文件 O_RDWR:以读写方式打开文件 O_APPEND:写入数据时添加到文件末尾 O_CREATE:如果文件不存在则产生该文件,使用该标志需要设置访问权限位mode_t O_EXCL:指定该标志,并且指定了O_CREATE标志,如果打开的文件存在则会产生一个错误 O_TRUNC:如果文件存在并且成功以写或者只写方式打开,则清除文件所有内容,使得文件长度变为0 O_NOCTTY:如果打开的是一个终端设备,这个程序不会成为对应这个端口的控制终端,如果没有该标志,任何一个输入,例如键盘中止信号等,都将影响进程。 O_NONBLOCK:该标志与早期使用的O_NDELAY标志作用差不多。程序不关心DCD信号线的状态,如果指定该标志,进程将一直在休眠状态,直到DCD信号线为0。 函数返回值: 成功返回文件描述符,如果失败返回-1 例如:

Linux下 QT串口与51单片机通信实例

QT串口与51单片机通信

通过这个小例子主要想说明QT怎样进行线程编程的思想,实例如图,好吧,下面是过程 上一个例子我们采用的是手工编写代码的方法,这个例子我们来玩一下designer,其实Qt4己经把界面与功能分开了,用designer来进行界面 设计,再手工编写一些功能,如信号与槽,这样开发效率会大大提高,呵呵,开一个终端,输入/usr/local/Trolltech/Qt-4.5.1/bin/designer ,如果第一次打开出现字体不对,可以打开qtconfig进行一些相关配置,打开后我们新建一个Main Window,在右边的属性框中设置一下界面大小, 1.我ARM板的LCD大小为320x240,所以我也设为320x240; 2.左边是一些我们常用的窗口部件,这里我们用到一个lable标签来做显示,再放几个pushButton按钮,在属性objectName重新更改它的名字,改为我们记得的,这样在写功能时记得哪个按钮叫什么名字,对于一个初学QT的人来说,很想知道每一个部件到底有什么信号和槽,别急,我们可以这样来看,选中一个lable,按F4,再点击lable拖动出现接地符号时松开,弹出编辑信号与槽,这时左边列出的是信号,右边为槽,这里我们不用配置连接,等下我们再手工写, 3最后我们用到一个lable标签和三个pushButton按钮,并命名为dis_label、writeButton、readButton、closeButton,然后保存为mainwindow.ui,这样designer就完工了,呵呵..

4.下面我们编写一个线程,用于管理串口收发工作,它不涉及到任何界面,只做好它的本份工作就得了,编写一个thread.h文件gedit thread.h, #ifndef THREAD_H #define THREAD_H #include class Thread:public QThread { Q_OBJECT public: Thread(); char buf[128]; volatile bool stopped; volatile bool write_rs; volatile bool read_rs; protected: virtual void run(); }; #endif 我们定义一个Thread类,它继承于QThread,看到只设有一些变量和一个run函数,virtual表示为虚函数,你也可以去掉,加上去会增加一些内存开销, 但提高了效率,对于这个小程序是看不出什么效果的,volatile这个大家都懂了吧,就是防止偷懒,呵呵, 5.再看看thread.cpp #include"thread.h" #include #include #include #include //串口用到的 #include #include #include #include #define BAUDRATE B9600 //#define RS_DEVICE "/dev/ttyS0" //串口1 #define RS_DEVICE "/dev/ttySAC1" //串口1 Thread::Thread() {} //析构 void Thread::run() //这就是线程的具体工作了

linux下的tty串口通信

异步通信:以单字符为发送单位,字符间发送能存在间隔 起始位:发送”0”,表示字符传送开始 数据位:可允许4 5 6 7的数据位 停止位:一个字符结束的标志位, 奇偶校验位:根据传送数据内“1”的个数是偶数还是奇数来校验数据是否准确 空闲位:在没有数据发送时,设置“1” Structure termios{ tcflag_t c_iflag; 输入方式 tcflag_t c_oflag; 输出方式 tcflag_t c_cflag; 控制模式标志 tcflag_t c_Iflag; 本地 tcflag_t c_cc[NCCS]; 控制字符,用于保存终端的特殊字符} c_iflag 标志常量:Input mode ( 输入模式) input mode可以在输入值传给程序之前控制其处理的方式。 其中输入值可能是由序列埠或键盘的终端驱动程序所接收到的字元。我们可以利用termios结构的c_iflag的标志来加以控制,其定义的方式皆以OR 来加以组合。 IGNBRK :忽略输入中的 BREAK 状态。(忽略命令行中的中断) BRKINT :(命令行出现中断时,可产生一插断)如果设置了 IGNBRK,将忽略 BREAK。如果没有设置,但是设置了 BRKINT,那么 BREAK 将使得输入和输出队列被刷新,如果终端是一个前台进程组的控制终端,这个进程组中所有进程将收到 SIGINT 信号。如果既未设置 IGNBRK 也未设置 BRKINT,BREAK 将视为与NUL 字符同义,除非设置了 PARMRK,这种情况下它被视为序列 377 � �。 IGNPAR :忽略桢错误和奇偶校验错。 PARMRK :如果没有设置 IGNPAR,在有奇偶校验错或桢错误的字符前插入377 �。如果既没有设置 IGNPAR 也没有设置 PARMRK,将有奇偶校验错或桢错误的字符视为 �。 INPCK :启用输入奇偶检测。 ISTRIP :去掉第八位。 INLCR :将输入中的 NL 翻译为 CR。(将收到的换行符号转换为Return)IGNCR :忽略输入中的回车。 ICRNL :将输入中的回车翻译为新行 (除非设置了 IGNCR)(否则当输入信号有 CR 时不会终止输入)。 IUCLC :(不属于 POSIX) 将输入中的大写字母映射为小写字母。 IXON :启用输出的 XON/XOFF 流控制。 IXANY :(不属于 POSIX.1;XSI) 允许任何字符来重新开始输出。(?) IXOFF :启用输入的 XON/XOFF 流控制。 IMAXBEL:(不属于 POSIX) 当输入队列满时响零。Linux 没有实现这一位,总是将它视为已设置。

超级终端使用--中文指导书

超级终端使用中文指导书 针对我们的数据卡,使用超级终端主要用来查询端口状态及获取单板的相关信息.例如:版本号,IMEI号以及网络性能等.下面对超级终端的使用(在Windows XP 中文操作系统下)做一下简要的说明: (1)打开超级终端 如下图所示: 开始->程序->附件->通讯->超级终端. 初次使用,打开超级终端时会出现以下页面,在“请不要再问这个问题”前打勾,这样下次使用时就不会再出现该提示, 按“否(N)”结束此页面设置. 初次使用超级终端,系统要求填写必要的位置信息,如下图所示,其中“目前所在的国家(地区)(W)”可以随意选择,这里我们选择中华人民共和国, “您的区号(或城市号)是什么(C) ?”可

以随意输入,这里我们输入0755,其他选项默认设置即可,按“确定”结束此页面设置. 打开后的超级终端出现连接描述页面,如下图所示: 输入名称:名称我们可以随意输入,这里我们输入“超级终端”并按“确定”完成.

(2)设置超级终端 在国家(地区)(C)中选择所在的国家,可以随意选取,这里我们选择中华人民共和国(86) 在区号(E)中填写区号,可以随意填写,这里我们写入0755 在连接时使用(N)中选择使用的端口,(端口的选择可在计算机管理->设备管理中查看. 这里我们选择COM3口,如下图所示: 查看MODEM 口属性可知该口为COM3口,我们也可以选择COM4口,即: PCUI口). 端口选择好后,按确定即可. 接下来设置端口属性.点击还原

为默认值->确定即可. 如下图所示: (3)使用超级终端 超级终端设置好后,输入: AT+ “回车” ,发现返回值为OK .证明端口已经可用,我们可以继续输入其他的AT命令,例如:ATI 等.AT命令是不区分大小写的. 相关的AT命令可以参看AT命令接口文档. 备注: (1)Windows XP 英文操作系统中超级终端的使用与中文操作系统的使用类似: 按如下步骤查找英文操作系统的超级终端: Start->All Programs->Accessories->Communications->Hyper Terminal (2)Windows Vista 32/64操作系统中没有超级终端,需使用专门的拨号软件: 例如: VTT

Linux_C_C++串口读写串口读写

Linux C/C++串口读写 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是RS-232-C 接口(又称EIA RS-232-C)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。传输距离在码元畸变小于4% 的情况下,传输电缆长度应为50 英尺。 Linux 操作系统从一开始就对串行口提供了很好的支持 串口操作

打开串口 在Linux 下串口文件是位于/dev 下的 串口一为/dev/ttyS0 串口二为/dev/ttyS1 设置串口 最基本的设置串口包括波特率设置,效验位和停止位设置。

设置这个结构体很复杂,我这里就只说说常见的一些设置: 波特率设置 设置波特率的例子函数: /** *@brief 设置串口通信速率 *@param fd 类型 int 打开串口的文件句柄 *@param speed 类型 int 串口速度 *@return void */ int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, B4800, B2400, B1200, B300, }; int name_arr[] = {38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300, }; void set_speed(int fd, int speed){ int i; int status; struct termios Opt; tcgetattr(fd, &Opt);

Linux下扩展串口配置方法

编号: 版本号:V1.0 受控状态: 分发号: Linux下扩展串口配置方法 应用注记 编制:日期: 审核:日期: 标审:日期: 质量:日期: 批准:日期: 北京盛博协同科技有限责任公司

版本控制 (C:创建;A:补充;M:修改;D:删除)

目录 1概述 (1) 1.1文档目的 (1) 1.2基本说明 (1) 1.3定义 (1) 1.4参考资料 (1) 1.5注意事项 (1) 2方法 (1) 2.1环境 (1) 2.2方法 (1) 3附录 (2) 3.1串口资源 (2)

1 概述 1.1 文档目的 本文旨在说明在Linux操作系统下扩展串口的方法,供测试人员、技术支持人员和用户参考。 1.2 基本说明 Linux操作系统自带串口驱动(i8250芯片兼容),公司研发的串口扩展卡(A3CSD、MSP4I)不需要重新开发驱动,只需要一定配置即可使用。本文给出配置的方法供参考。 1.3 定义 Linux:一种开源、现代操作系统。 Fedora:一种Linux系统的发行版本。 A3CSD:北京盛博协同公司开发的扩展串口卡。 MSP4I:北京盛博协同公司开发的扩展串口卡。 PM4060:北京盛博协同公司开发的处理器板卡。 1.4 参考资料 《如何在LINUX下驱动多串口扩展卡》。 1.5 注意事项 Linux操作系统不同内核,不同发行版本存在一定差异,本文方法只保证在所试环境成功。 BIOS中必须释放扩展串口卡需要使用到的资源。 方法中使用的资源必须与扩展串口卡使用的资源一致。 如果所用Linux操作系统中没有方法中的命令,请安装或从类型系统拷贝。 2 方法 2.1 环境 1.LX3160(BC30CV31); 2.A3CSD(串口资源见附录); 3.CF 4G(Fedora 7); 4.鼠标、键盘、显示器、电源、线缆等。 2.2 方法 1.启动linux操作系统,以root身份进入命令控制台。 2.运行mknod /dev/ttyS9 c 4 64命令创建串口设备文件。 3.运行setserial /dev/ttyS9 port 0x100 irq 10 uart 16550A命令,链接设备文件到芯片。 4.重复步骤3,根据资源添加其他串口。 5.若想Linux启动后串口随即生效,把上述命令添加到启动脚本rc.local中。 图1

基于linux的嵌入式串口通信

天津电子信息职业技术学院《嵌入式软件编程》课程报告 课程名称:基于linux的嵌入式串口通信 课程代码:115229 姓名:甘琦 学号:48 专业:物联网应用技术 班级:物联S14-1 完成时间:2016 年10 月28日

目录 摘要 (1) 前言 (2) 一、嵌入式串口通信概述 (2) 1.1 嵌入式串口通信的原理 (2) 1.2 嵌入式串口通信的开发工具 (2) 1.2.1 CC2530功耗 (2) 1.2.2 ARM简介 (3) 1.2.3 Linux系统简介 (3) 1.3 嵌入式串口通信的基本任务 (4) 1.4嵌入式串口通信协议及实现 (4) 二、 RS-232C标准 (5) 2.1引脚定义 (5) 2.2 字符(帧)格式 (6) 2.3握手协议 (8) 2.4 双机互连方式 (9) 2.4.1无硬件握手情况 (9) 2.4.2 DTR和DSR握手情况 (9) 三、嵌入式串口驱动程序设计 (10) 3.1 嵌入式串口操作需要的头文件 (10) 3.2 打开串口 (10) 3.3 串口设置 (11) 3.4 串口读写 (13) 3.5 关闭串口 (14) 四、源程流程图 (15) 五、源程序代码 (15) 总结 (19)

摘要 随着Internet的发展和后PC时代的到来,嵌入式系统以其可靠性强、体积小、专用性、成本低等特性得到日益广泛的应用。目前嵌入式系统技术已经成为了最热门的技术之一。与此同时,一个独立的嵌入式系统的功能缺陷也逐渐暴露出来。新一代嵌入计算系统的功能集成和应用模式使之迅速向网络化嵌入计算的方向发展,标准和统一的TCP/IP通信协议是独立于任何厂家的硬件的,因此嵌入环境下的实时网络通信成为嵌入计算技术研究的重点和热点。本文通过基于2410F 的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法。 关键词:嵌入式串口通信 2410F

linux下串口通信代码

1.Stty.h #ifndef __STTY_H__ #define __STTY_H__ //包含头文件 #include #include #include #include #include #include #include #include #include // 串口设备信息结构 typedef struct tty_info_t { int fd; // 串口设备ID pthread_mutex_t mt; // 线程同步互斥对象 char name[24]; // 串口设备名称,例:"/dev/ttyS0" struct termios ntm; // 新的串口设备选项 struct termios otm; // 旧的串口设备选项 } TTY_INFO; // 串口操作函数 TTY_INFO *readyTTY(int id); int setTTYSpeed(TTY_INFO *ptty, int speed); int setTTYParity(TTY_INFO *ptty,int databits,int parity,int stopbits); int cleanTTY(TTY_INFO *ptty); int sendnTTY(TTY_INFO *ptty,char *pbuf,int size); int recvnTTY(TTY_INFO *ptty,char *pbuf,int size); int lockTTY(TTY_INFO *ptty); int unlockTTY(TTY_INFO *ptty); #endif 2.Stty.c #include #include #include "stty.h" /////////////////////////////////////////////////////////////////////////////// // 初始化串口设备并进行原有设置的保存 TTY_INFO *readyTTY(int id) { TTY_INFO *ptty; ptty = (TTY_INFO *)malloc(sizeof(TTY_INFO)); if(ptty == NULL)

相关主题