linux串口命令行开源,linux串口程序

linux串口通信代码解释,一句一句来

简单说几句吧,linux下的设备都是文件,流程也无非是open, read/write, close等

创新互联专业为企业提供天峨网站建设、天峨做网站、天峨网站设计、天峨网站制作等企业网站建设、网页设计与制作、天峨企业网站模板建站服务,10多年天峨做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

当然,串口你得设置各种属性才行对不对,比如在win下的超级终端就设置了波特率啊,停止位啊,奇偶校验啊什么的,这些属性都通过

int tcgetattr(int fd, struct termios *termios_p);

int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);函数来设置。

完整代码吗自己去google,一把一把的,其实最重要的是设置好属性,剩下的就是read,write的问题咯。

希望对你有用

对了,了解终端函数的详情请在linux命令行终端获取: man termios

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下实现

使用串口协议登录Linux终端控制台,通过Zmodem文件传输协议接收一个外部文件。

命令:rz -y

会弹出文件浏览窗口,选择要上传的文件即可。

-y 表示若文件已存在,则覆盖。

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下对串口操作的方法?

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

如何在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串口程序
本文链接:http://scyanting.com/article/phdphs.html