Linux串口相关的 *** 作及绑定

Linux串口相关的 *** 作及绑定,第1张

@ 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打开串口设备

常用的匹配类型:

我们用一条交叉网线把NPort5110 和PC机的网口连接起来,并把NPort上电。

首先,打开控制面板,网络连接。

在本地连接上点右键,选择属性。

双击进入 Internet协议(TCP/IP),点击“使用下面的IP地址”

写入 IP 地址和子网掩码,记住要和NPORT 的IP 地址在同一子网段内。如NPORT 默认IP

为192.168.127.254,255.255.255.0;就需要把PC 机的IP 地址设为192.168.127.XXX,

255.255.255.0,最后一个数字不同即可。

点击确定。

第二章:网络和串口参数配置

搜索 NPort

打开NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此

时请确认网络防火墙已经关闭。

会搜索到我们的NPort5110,点击stop,停止搜索。

网络参数配置

双击右边空白处的NPort 设备,会出现以下界面,点击选择Network 选项卡,点击Modify

修改。可以看到以下界面:

我们可以在里面修改NPort的以下参数:

IPAddress:IP地址。

Netmask:子网掩码。

Gateway:网关。

IP Configuration:可以配置为静态IP(Static),或者为DHCP(动态IP)。

DNS Server1和2:DNS,域名解析服务器。

串口参数配置

点击 Serial选项卡,点击Modify修改,双击端口进去,可以看到以下界面:

我们可以在里面修改以下参数:

Baud Rate:波特率,NPort5000 系列只能支持标准波特率,如9600,115200bps 等。

Parity:校验。

None:无校验

Even:偶校验。

Odd:奇校验。

Space:空。

Mark:标志。

Data Bits:数据位。

Stop Bits:停止位。

Flow Control:流量控制。

None:无流量控制。

XON/XOFF:软件流控。

RTS/CTS:硬件流控。

FIFO:64bit先进先出,为了降低CPU负载,提高设备性能。可以选择Enable启用,或Disable

禁用。

Interface:可选择RS232,RS422,RS485 2线,或者RS485 4线。(NP5110 只能为RS232)

设置好后,点击OK,设置保存,设备重新启动。

第三章: *** 作模式设置

Real COM映射端口

打开 NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此

时请确认网络防火墙已经关闭。

会搜索到我们的NPort5110,点击stop,停止搜索。

双击右边的5110,选择Operating Mode选项卡,确认为Real COM模式:

点击左边的第四项:COM MAPPING,

再点击Add

点击“OK”,

点击“Apply”保存

点击“Yes”,点击“OK”。

这样,端口就映射好了。

TCP Server模式的设置(用软件)

打开 NPort Administrator(可以在光盘的对应位置找到这个软件,安装好),点击Search,此

时请确认网络防火墙已经关闭。

会搜索到我们的NPort5110,点击stop,停止搜索。如果打开防火墙,可以使用Search IP,

在下面选项框里输入NPort的IP地址,

点击 OK,就可以搜索到NPort设备。

双击右边的NP5110,切换到OperatingMode选项卡,点击Modify,双击进去。可以把模式

修改成TCP Server 模式。

里面的名词解释:

Local TCP Port:本地数据端口,指的是NP5110 的数据端口。

Command Port:NP5110 的命令端口。

Max Connection:最大连接数,也就是说同时最大可以有几台上位机采集到下面串口设备

的数据,NPort5000 系列最大是4 个,NPort6000 和CN2600 系列是8 个。

当最大连接数为2 或以上的时候,右边的选项Allow Driver Control 和Ignore Jammed IP会开

启。

Allow Driver Control:当最大连接数为2 或以上时,且此功能打开时,上位机A 需要以

4800bps打开串口,上位机B需要以9600bps打开串口,是可以的。如果此功能关闭,则波

特率需以固件中的设置一致。

Ignore Jammed IP:当最大连接数为2 或以上时,且此功能打开时,其中一台上位机A死

机,上位机B 依然可以正常接收数据。如果此功能关闭,则上位机B 也不能收到串口的数

据了。

由于linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:kernel.shmall = 2097152kernel.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:表示发送套接字缓冲区大小的最大值(以字节为单位)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8285099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存