查看串口是否可用,可以对串口发送数据比如对com1口,echo lyjie126 /dev/ttyS0。
专注于为中小企业提供网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业洞口免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
再利用接口 tcsetattr() 函数将配置信息写入文件描述符 fd :这样整个串口最常用的用法就配置完成了。具体的配置使用可以参考我的项目 HCI-Middleware 里的 hci_transport_uart_linux.c 文件。
找到串口的设备号 在linux系统下,所有的设备都是文件,所以要先找到串口这个设备文件,之后就可以对这个串口进行操作。
如何获取该结构呢?我们操作串口跟操作文件一样,也是调用 open() 函数来打开串口,这样我们就能够得到一个文件描述符 fd ,然后就可以调用 tcgetattr() 函数来获取上述配置结构体了。
getty / agetty - agetty 打开一个 tty 端口, 提示登录名称并调用 /bin/login 命令。grub / lilo configuration - 配置串口为系统控制台。
在Linux中,打开串口设备和打开普通文件一样,使用的是open()系统调用。比如我么打开串口设备1也就是COM1,只需要:fd = open(/dev/ttyS0, O_RDWR | O_NOCTTY | O_NDELAY );打开的串口设备有很多设置选项。
setserial 命令 setserial 是一个程序用于设定并/或报告某个串口关联的配置信息。该信息包括串口用到的I/O 端口和中断号,以及Break键是否应被解释为Secure Attention Key 等等。
因此我们断定本机只有一个串口,是串口0,即ttyS0 也可以用dmesg | grep ttyS*,但这个不是很好用,当然你可以自己使用正则法则取找到。注意:还应查看是否有USB转串口,这个就很简单了:ls ttyUSB*,全部搞定。
下面是一个例子,例子中采用的是USB转串口线(pl2303)。
用CAT命令查看 cat /proc/tty/driver/serial如果需要配置串口参数,minicom是个很好的选择。
通过USB转232串口线与PC机连接,这时候咱们的linux系统自动安转了驱动程序,可以使用命令:dmesg 查看安装驱动的信息。
linux下的usb串口命名为ttyUSB*,运行上面命令,可以看到有几个设备挂载。 我们这里是:只有ttuUSB0.再用lsusb查看:usb 004正是我们挂上去的usb转串口线缆,使用的芯片是PL2303。
直接往你的串口写四个字节的数就可以了,在你的另一个程序中读取你往串口写的那几个数,十六进制打印出来就可以了。
串口发送的数据是8位的,最大为255,就是FF,如果要发送大于255的数,必须变成几个字节发送,例如要发送十进制2315,就要将数据拆分 data(0)=2315/256; data(1)=2315%256; 这样就拆分开数据,再将数据发送出去。
如果是通过串口驱动的接口直接读取字符串信息,则需要查看该接口的定义。如果是通过c标准库接口读取字符串信息,则是按照字节目读取。
你可以搜以下ASCII码表。\“0\”对应的16进制数是30,\“3\”对应的16进制数是33。,那么发送的就是十六进制数30和33,即发送二进制数2个8比特:起始位11000000停止位 起始位 11000011停止位。
首先设置一下:串口号(你用哪个串口用来通讯就设置哪个串口),波特率、校验位、停止位这几个参数(这几个要和你单片机程序中串口设置的参数一样)。然后“打开串口”,然后勾选“HEX发送”。