linux串口无法配置波特率

linux串口无法配置波特率,第1张

我们用一条交叉网线把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 也不能收到串口的数

据了。

你好,中文乱码的话,注意接收后可能需要编码转换,比如GB2312,utf8,unicode这几种编码格式的转换

如果不是中文的话,可以按照下面方式进行检查

1、具体检查方法,将linux中的发送和接受进行短接(就是将发送和接受连起来),看看接受的数据是否相同。

这一步中,因为使用的是同一个串口,所以串口的设置一定是相同的。这样如果都收不正确,可以确定是linux串口驱动的问题。

2、详细设置linux串口的参数,包括波特率,校验,串口位数。将linux和单片机设置相同,看看接受数据是否相同

如果还是不相同。

3、在windows中使用串口调试助手设置同单片机串口相同的参数,查看接受数据是否正确。

如果不正确,说明是单片机串口参数设置的问题,或者是时钟频率的问题。

如果正确,说明一定是linux端的问题。

如果是linux端的问题,主要从两个方面解决,一个是参数设置,一个是信息读取。下面是测试方法。

4linux端查看一下代码设置。利用驱动接口,读出串口的参数,看看和你程序中设置的参数是否相同,如果不相同说明设置参数的代码没写对。

5如果参数设置是正确的,那么直接cat 驱动的位置,可以直接读出串口的数据,此时读取的数据应该是和发送端一样的,如若不一样。。。。那么基本就是linux时钟的问题导致的了。若linux是PC上的一般不会出现时钟设置错误,如果linux是嵌入式上的话,你看看时钟配置是否正确吧


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存