linux
怎么切换到linux串口调试控制台?
一、怎么切换到linux串口调试控制台?
利用串口终端作为Linux控制台,可以免去额外的键盘,显示卡和显示器,同时可将Linux主机作为一个任意用途的嵌入式黑匣。那么LINUX控制台怎么定向到串口终端?下面跟着学习啦小编一起来了解一下吧。 LINUX控制台怎么定向到串口终端
目的: 台机已经装好Linux,显示器有问题,平时一般都SSH控制,当Linux网络挂的时候,想通过串口来管理。
硬件:台机自带两个串口(上面的是COM1)[under Windows] or ttyS0[under Linux)),笔记本T61p没有串口,买了个USB转串口(具体见下图)。同时需要串口交叉线一根(NULL modem Cable),母对母(公的是针),都是凹口那种。
目标机器:安装的CentOS 5.2 Linux 内核2.6.18-92.1.22.el5和2.6.18-92.1.22.el5xen
客户端: Windows XP SP3 IBM OEM. 安装USB转串口驱动。
需要把输出定向到串口,一般有下面几处:
BIOS中的设置
GRUB设置
/etc/inittab 设置
/etc/securetty 设置
BIOS中的设置
BIOS设置的作用我没尝试过,如果是可以连BIOS设置都可以定向到串口,那个强大了。也不知道如何去掉机器需要连键盘的限制。没拿出显示器所以没看我台机的BIOS,不过这个功能一般只有服务器级别的机器有。【注1】台机一般没有串口重定向功能。
GRUB设置
这里的配置是为了把grub菜单定向到串口,这样你就可以在串口操作grub,选择启动项,使用single mode等等。
同时也要给kernel参数加上console选项。
[root@CentOS5 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vg00/lv_root
# initrd /initrd-version.img
#boot=/dev/hdb1
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
default=2
timeout=20
#splashimage=(hd0,0)/grub/splash.xpm.gz =>这些在console下会工作不正常,注释掉。
#hiddenmenu
title CentOS (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root rhgb quiet
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Serial[ttyS0] - Console (2.6.18-92.1.22.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=ttyS0,9600 console=tty0
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Console - serial[ttyS0] (2.6.18-92.1.22.el5) [get more output in serial console]
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=tty0 console=ttyS0,9600
initrd /initrd-2.6.18-92.1.22.el5.img
title CentOS Xen (2.6.18-92.1.2
二、linux查找串口?
1、设备入口 可以查/dev/ttyS* 、/dev/*uart*(主设备号4或者204),第一串口一般为ttyS0、*uart0等 USB转串口设备一般为/dev/ttyUSB*(主设备号188),第一口一般为ttyUSB0 2、以上/dev下只是串口的入口,具体设备存在与否需要按关键字(ttyS、ttyUSB、uart)查询/proc/devices以确定。 3、串口为通讯端口,有多个串口设备时,要确定正在被连接的串口是哪个,需要检测一下,如: cat /dev/ttyS0
三、Linux Windows 串口区别?
Linux系统和Windows系统在串口方面有一些区别,具体如下:1. 端口号表示方式不同:在Windows系统中,串口通常以COM1、COM2等表示,而在Linux系统中,串口通常以/dev/ttyS0,/dev/ttyS1等表示。2. 命令行工具不同:在Linux系统中,可以使用一些命令行工具来进行串口通信,如stty、cu等。而在Windows系统中,通常使用超级终端工具(HyperTerminal)进行串口通信。3. 驱动程序支持不同:在Windows系统中,操作系统已经内置了针对常见串口芯片的驱动程序。而在Linux系统中,可能需要安装额外的驱动程序才能支持某些串口设备。4. 权限管理不同:在Linux系统中,需要具有相应的权限才能访问串口设备文件,而在Windows系统中,默认用户可以直接访问串口。5. 配置方式不同:在Windows系统中,可以通过设备管理器对串口进行配置,如波特率、数据位、奇偶校验等。而在Linux系统中,可以通过stty等命令来配置串口。需要注意的是,以上只是Linux和Windows在串口方面的一些常见区别,实际应用中,可能还会涉及到其他方面的区别。
四、串口如何接收at指令?
at指令一般以回车换行结尾。
int len =0;
unsigned char buff[1024] = {0x0};
buff[len++] = uart_recv_byte();
if((len >= 2) && (buff[len-2] == 0x0a) && buff[len-2] == 0x0d))
{
at_process(buff, len);
}
五、串口是什么指令?
串行通信接口的意思。串口有多种,像RS232C,RS485,RS422等 PC上通常所指的串口是电脑后面的9针D型串口,它符合RS232C标准。
单片机上的串口是指RXD,TXD两个串行输入、输出通信接口,是TTL电平的,要想和标准RS232C串口通信需要加一块芯片,比如MAX232C。
PLC也有串口,西门子200带485串口,松下带422串口等
六、linux阻塞指令?
1.阻塞(block)概念:指进程或线程在执行设备操作或管道,或则网络时,不能获取到资源就被挂起,
直到满足可操作的条件后在进行操作,被挂起的进程进入休眠状态,从运行队列移走,直到
等待的条件满足才继续执行。也就是执行到某些函数时必须等待某个事件发生函数才返回。
2.非阻塞(non_block):进程就算没有获取到资源或没有等到事件发生时不挂起,通常会直接放弃或不断查询,
直到可以进行的位置。也就是函数的执行不必等待事件发生,一旦执行肯定返回,用返回值来反应函数执行情况。
3.例如:read读取输入输出设备/dev/tty
4.read设备文件时发生阻塞
七、linux中如何关闭串口?
在Windows系统中,你可以通过以下步骤强制关闭串口:
1. 点击任务栏的电源图标,然后选择"更多电源选项"。
2. 在弹出的窗口中,选择"选择电源按钮的功能"。
3. 在"选择电源按钮的功能"窗口中,点击"更改当前不可用的设置"。
4. 在下拉菜单中,取消选择"启用快速启动",然后点击"保存修改"。
注意:这将会使电脑进入睡眠模式,而不是关机。所以在你完成你的操作后,记得重新启动电脑。
在Linux系统中,你可以使用以下命令来强制关闭串口:
在Red Hat和CentOS系统中,你可以使用以下命令:
```bash
sudo shutdown -h now
```
在Debian和Ubuntu系统中,你可以使用以下命令:
```bash
sudo reboot
```
在macOS系统中,你可以按住`Control`键并点击电源按钮,然后选择"重新启动"。
请注意,强制关闭串口可能会对正在运行的程序造成影响,因此在执行这个操作之前,你应该确保你的应用程序已经完成了所有的任务。
八、Sscom串口助手如何快速发送串口指令?
这里我们介绍一些进阶的使用方法。
包括:
1,快速发送串口指令;
2,编辑指令列表;
3,共享指令列表。
方法/步骤
1打开Sscom3.2软件,点击右侧的【扩展】按钮。
2在扩展栏的【多条字符串定义】页面,默认有2条指令,12 00 FF 88和output string,前面一条的【HEX】为勾选状态。输入自己常用的5条指令,根据需要选择【HEX】的勾选情况。这样点击数字1-5就可以快速发送命令了。
3关闭Sscom3.2软件,打开软件所在的文件夹位置,可以看到有一个名为sscom.ini的配置文件。双击打开该文件,可以看到刚才输入的快捷命令已经保存在文件中。N1=A,AT+CGMIN2=A,AT+CGMMN3=A,AT+CGMRN4=A,AT+CGSN N5=A,AT+CSCS
4根据同样的格式,我们可以在配置文件中更快速的输入我们其它常用的命令。如图,增加了新的5条命令,关闭并保存文件。再次打开Sscom串口助手软件,可以看到刚才在配置文件中编辑的5条新命令,已经出现在扩展栏界面上,就可以进行快速指令发送了。
九、串口助手怎么发送at指令?
串口助手发送AT指令的方式通常包括以下步骤:打开串口助手,选择正确的串口和波特率,确保与设备匹配。在串口助手中输入AT指令,例如“AT+CMD”或“AT+PIN=1234”。点击发送按钮或使用快捷键发送指令。等待设备的响应。串口助手通常会显示设备的响应信息。如果需要连续发送多个指令,可以在串口助手中编辑多个指令,然后一次性发送。在发送指令时,也可以设置超时时间或重试次数,以提高操作的可靠性。需要注意的是,不同的设备可能会有不同的AT指令集和响应方式,因此在使用串口助手发送AT指令时,需要参考设备的文档或手册,以确保指令正确无误。
十、Linux撤销上一个指令操作的指令是什么?
没有.
如果有这个指令一定告诉我,虽然我自己可以肯定没有的.
----
实际上来说,linux上的任何指令大多数都存在其逆指令.但是由计算机自动帮助进行逆操作还不太靠谱.因为命令五花八门,不好区分.
可以分为三类:
1,一次性指令,不存在逆操作.比如,ls,没有逆操作.
2,可逆操作,例如pushd,popd;mv a b,mv b/a .;
3,不可逆操作,例如rm.
因此可以写个脚本来完成这个功能.
读取history最后一项.
如果为一次性指令,则重复.
如果为可逆操作,则执行逆操作.
如果不可逆操作,提醒.
结束.
至于这个脚本的实现,等待谁有这个需求的时候吧.
----
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...