Linux命令串口收发 发送串口命令-成都快上网建站

Linux命令串口收发 发送串口命令

Linux,通过串口实现线程对数据实现收发,为什么只能写线程,而读线程运行不了?

另一个线程完全可以运行,是否运行决定权在你。 如果另一个线程需要等待串口的数据,那么它应该调用wait来等待信号量 读取串口数据的线程应该在读取完成后通知等待在信号量上的线程,以继续运行。

成都创新互联公司是一家专注于网站建设、成都做网站与策划设计,榆阳网站建设哪家好?成都创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:榆阳等地区。榆阳做网站价格咨询:18980820575

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下串口是否可用?串口名称等?

1、查看串口是否可用,可以对串口发送数据比如对com1口,echo lyjie126 /dev/ttyS0

2、查看串口名称使用 ls -l /dev/ttyS* 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;

3、查看串口驱动:cat /proc/tty/drivers/serial

4、查看串口设备:dmesg | grep ttyS*

扩展资料

接口划分标准

同步串行接口(英文:SynchronousSerialInterface,SSI)是一种常用的工业用通信接口。。

异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口和RS232电平的串口。 TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

参考资料:百度百科-串口

linux c 串口 收发数据

1、接受数据一般是阻塞,就是没有接收到数据就一直等待,可以设置为不阻塞,这样就可以了

2、另一种方法是,创建线程,一收、一发,就可以互不影响


当前题目:Linux命令串口收发 发送串口命令
文章分享:http://kswjz.com/article/hgigce.html
扫二维码与项目经理沟通

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

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