本篇文章给大家谈谈linux怎么设置串口,以及linux系统串口设置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Linux串口调试工具--minicom
安装完成后,请不要着急打开软件。需先进行配置。具体步骤如下:
查看串口设备及文件权限
linux下的所有操作面向用户的都是文件操作,在对串口操作之前,我们应该先确认自己对该文件有没有读写权限。
linux下的usb串口命名为ttyUSB*,运行上面命令,可以看到有几个设备挂载。
我们这里是:
只有ttuUSB0.再用lsusb查看:
usb 004正是我们挂上去的usb转串口线缆,使用的芯片是PL2303。
但是正如上面显示,ttyUSB0这个设备是root所有的,所以,我们以普通用户身份打开minicom是没法访问该文件的。
运行sudo minicom -s便进入了minicom的配置界面,使用上下键选择Serial port setup,回车。此时光标在“change which setting”后面停留,它的上面有如下菜单:
我们只需输入上面对应的字母,就可以进如相应的菜单进行设置。设置完成,回车,光标会回到“change which setting”后面,如此重复。完成按回车返回主菜单即可。
返回主菜单后,选择“Save setup as df1”,将其保存为默认设置,然后选择 Exit退出。需退出后重新打开minicom,软件才会使用上述参数进行初始化。
注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。
如果上面设置顺利,打开minicom
重新给设备上电后,此时,窗口里就有信息打印出来了。
1)需使用Ctrl+a 进入设置状态
2)按z进入设置菜单
(1)O键:打开配置选项;
(2)W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的启动信息时很有用。
(3)C键:清除屏幕的显示内容;
(4)B键:浏览minicom的历史显示;
(5)X键:退出minicom,会提示确认退出。
Ctrl + A -- O
选择"Filenames and paths"
更多的参数,参见"man minicom"的输出。
如果不加这个项,那么在minicom和pc交互的时候中键入命令超过一行时候会被截断,(这时候可以通过 C-a w 来开和关切换截断行功能).
这样,启动之后我们会发现显示的内容不是黑白的了。
这样,启动之后,所在minicom的输出都会在filename中保留一份,如果原来文件存在,则追加,不存在则创建一个。
这样,我们可以取代用 C-a * 发送命令的方式,将 C-a 替换成 [Alt] 或者 [ESC] .
这里,filename是你的脚本文件的名字,应该指定绝对路径,否则就会在你启动minicom的路径下寻找。
Minicom是基于窗口的。要弹出所需功能的窗口,可按下 Ctrl-A (以下使用C-A来表示Ctrl-A),然后再按各功能键(a-z或A-Z)。先按C-A,再按'z',将出现一个帮助窗口,提供了所有命令的简述。配置 minicom(-s 选项,或者C-A、O)时,可以改变这个转义键,不过现在我们还是用Ctrl-A吧。
这里,只给出很少的命令,更多的交互命令参见"C-a z"的帮助输出。
minicom -s 或启动minicom之后运行 C-a o 来进行配置。
C:脚本文件的存放位置: C-a g 运行脚本时的路径 。
D:选择脚本程序: 默认 runscript ,也可以选择 bash 脚本格式。
可以参考man手册 man runscript .交互命令中可以运行" C-a G "来运行脚本。
参考资料 :
如何在红帽企业Linux下设置串口终端?
一个串口控制台将发送所有的终端显示到串口,而串口终端则可以实现通过串口登录到系统。你可以同时设置两个或者其中一个。 为了控制内核输出所有控制台消息到串口,你需要在时向内核传递参数console=ttyS0,这可以通过GRUB来实现,下面的例子会将控制台消息发送到tty0(显示器控制台)和ttyS0(串口1),发送到串口控制台的速度为115200,但是需要注意的是一种类型设备只能定义一个控制台,例如不能把消息同时发送到串口1和串口2,编辑/boot/grub/grub.conf,添加如下内容: console=ttyS0,115200 console=tty0 例如: # cat /boot/grub/grub.conf# 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/hda2# initrd /initrd-version.img#boot=/dev/hdadefault=0timeout=10splashimage=(hd0,0)/grub/splash.xpm.gztitle Red Hat Enterprise Linux AS (2.4.21-27.0.2.ELsmp) root (hd0,0) kernel /vmlinuz-2.4.21-27.0.2.ELsmp ro root=LABEL=/ console=ttyS0,115200 console=tty0 initrd /initrd-2.4.21-27.0.2.ELsmp.img 串口终端 为了设置一个串口终端,需要为串口衍生(spawn)一个agetty,在/etc/inittab添加如下内容: co:2345:respawn:/sbin/agetty ttyS0 115200 vt100 init q 例如: # Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6co:2345:respawn:/sbin/agetty ttyS0 115200 vt100 init q 也可以在/etc/securetty文件中添加串口设置,这样才可以以root身份从串口登录,在该文件最后添加一行,内容为 ttyS0 (如果不添加此行,则登录时会不能输入密码。
linux如何更改屏幕显示串口
setserial命令可用来设置串口。
串行接口是采用串行通信方式的扩展接口,指数据一位一位地顺序传送。串行接口的特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
Linux怎么把串口设置
简单的运行 dmesg 命令
$ dmesg | grep tty
输出:
[ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A
setserial 命令
setserial 是一个程序用于设定并/或报告某个串口关联的配置信息。该信息包括串口用到的I/O 端口和中断号,以及Break键是否应被解释为Secure Attention Key 等等。 仅仅是输出如下的命令:
$ setserial -g /dev/ttyS[0123]
输出:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
带-g选项的setserial帮助找到你的Linux板子上的物理串口。
Linux 串口控制台程序
一旦串口被确定了,你就能使用许多的工具来配置Linux板子:
minicom- 用于控制modem和连接到dump 设备的最好的串口通信程序。
wvidial or other GUI dial up networking program - 一个内建智能PPP 拨号器。
getty / agetty - agetty 打开一个 tty 端口, 提示登录名称并调用 /bin/login 命令。
grub / lilo configuration - 配置串口为系统控制台。
linux 内核 配置串口
由于linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。
首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:
kernel.shmall = 2097152
kernel.shmmax = 4294967295 如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容:
fs.file-max = 6553600
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
这里的“fs.file-max = 6553600”其实是由“fs.file-max = 512 * processes”得到的,我们指定processes的值为12800,即为“fs.file-max =512 *12800”。
sysctl.conf文件修改完毕后,接着执行“sysctl -p”使设置生效。
[root@localhost ~]# sysctl -p 常用的内核参数的含义如下。
kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4gb,即“4294967295/1024/1024/1024=4g”。
kernel.shmmni:表示单个共享内存段的最小值,一般为4kb,即4096bit.
kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kb,也就是4096字节。
fs.file-max:表示文件句柄的最大数量。文件句柄表示在linux系统中可以打开的文件数量。
ip_local_port_range:表示端口的范围,为指定的内容。
kernel.sem:表示设置的信号量,这4个参数内容大小固定。
net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。
linux怎么设置串口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux系统串口设置、linux怎么设置串口的信息别忘了在本站进行查找喔。