Linux串口相关的操作及绑定@ toc
可在控制台输入
也可以用stty设置串口参数
使用后相当于串口回传,发什么回什么
发送数据
可以对串口发送数据比如对com1口
一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;
如果有ttyS设备,再看/dev/有没有ttyS*,如没有就建立一个:
如果板子的设备中没有标准串口设备ttyS0,也没有ttySAC0 。/dev下应该有一个USB串口:/dev/ttyUSB0.
当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备 。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),这完成看原已内建的串口数目 。ttyS*设备会被报告在/var/run/stab内 。
PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC
可能是linux下的串口设备没有打开,需要改变串口设备
的权限 , 或者根据文章头添加用户到组处理
可以通过以下命令 查看 板子上的硬件端口的内核设备名
该条命令会将 ttyUSB0所对应的硬件端口的kernel设备名 显现出来,得到KERNEL== '1-5.5.4' , 而不是之前的ttyUSB0
cmd.sh如下:
./getUSB.py调用当前路径下的getUSB.py这个Python语言,明确此次是哪个,ttyUSB0,或者ttyUSB1挂载在端口3-1.1上
【linux命令行配置串口 linux串口号】 getUSB.py:
完成之后,设置开机启动cmd.sh(在/etc/rc.local中设置)则每次开机之后,会从/dev/ttydata获取到固定端口的数据
方式一
写入内容如下:
方式二
我的硬件序列号:ATTRS{serial}=="FTSYWCXZ"这个号是唯一的
可以通过/dev/usb_0打开串口设备
常用的匹配类型:
Linux怎么把串口设置简单的运行 dmesg 命令
$ dmesg | grep tty
输出linux命令行配置串口:
[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 端口和中断号linux命令行配置串口,以及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 串口控制台程序
一旦串口被确定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命令行配置串口的信息别忘了在本站进行查找喔 。
推荐阅读
- 玩lol蓝屏怎么设置显卡,玩lol蓝屏怎么设置显卡模式
- redis最多连接多少客户端,redis支持多少个连接
- gis后台运行无反应,gis突然打不开
- 听翻唱的软件推荐安卓手机,翻唱软件哪个好
- linux反挂载磁盘命令 linux挂载磁盘分区
- Duo是什么CPU,DUO是什么品牌
- python代码自动充值,python 自动交易
- 显卡怎么装pcie4.0,显卡怎么装水冷散热
- 学习go语言 go语言和c语言哪个更好