linux串口命令行 Linux串口命令

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上

getUSB.py:

完成之后 ,设置开机启动cmd.sh(在/etc/rc.local中设置)则每次开机之后,会从/dev/ttydata获取到固定端口的数据

方式一

写入内容如下:

方式二

我的硬件序列号:ATTRS{serial}=="FTSYWCXZ"这个号是唯一的

可以通过/dev/usb_0打开串口设备

常用的匹配类型:

linux 查看某个串口参数(波特率,数据位等)命令什么?

用CAT命令查看

#cat /proc/tty/driver/serial

如果需要配置串口参数,minicom是个很好的选择。

一、安装

sudo apt-get install minicom

二、配置

配置minicom的参数

运行$ sudo minicom -s

便进入了minicom的配置界面,使用上下键选择Serial port setup,回车。此时光标在“change which setting”后面停留,它的上面有如下菜单:

只需输入上面对应的字母,就可以进如相应的菜单进行设置。设置完成,回车,光标会回到“change which setting”后面,如此重复。完成按回车返回主菜单即可。

Linux下对串口操作的方法?

和文件一样,open /dev/ttyS0就是串口1 然后设置波特率,停止位 奇偶校验那些 ,之后read write就可以了 头文件是termios.h

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串口命令
网站网址:http://csdahua.cn/article/doocedp.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流