首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux基础(串口编程)

虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。废话少讲,今天来解剖使用串口时的编程代码细节。...上面的代码是使用串口的第一步,来解释下都是啥意思。...来瞧瞧: 第21-22行,定义了一个用来配置串口属性的结构体: struct termios serial; bzero(&serial, sizeof(serial)); 第24行,将串口设置为raw...cfsetispeed(&serial, B9600); cfsetospeed(&serial, B9600); 第28-32行,设置串口控制属性(c_cflag),其中: serial.c_cflag...: tcsetattr(fd,TCSANOW,&serial); 当然,上面的 fd 就是系统中的某一个你想要设置的成上面那样的属性参数的串口,比如就拿粤嵌GEC210开发板来说,他有四个串口,其中第一个就已经被用于终端控制了

12.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 查看本机串口方法

    最近在了解嵌入式方面的知识,就随笔记录一下: 查看Linux本机串口: 1、查看串口是否可用    可以对串口发送数据比如对com1口,echo /dev/ttyS0 2、查看串口名称使用    ls...-l /dev/ttyS*   一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的; 3、...查看串口驱动    cat/proc/tty/drivers/serial 4、查看串口设备    dmesg | grep ttyS* 5、查一下板子上的串口有没有设备    grep tty/proc.../dev下应该有一个USB串口:/dev/ttyUSB0. 当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口使用: 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0

    21.9K20

    Linux 串口的基本用法

    查看Linux本机串口: 1、查看串口是否可用 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0 常用的调试工具有: minicom...cutecom Linux系统可视化串口应用软件,使用上与Windows系统串口调试工具。 picocom 效果上类似 minicom 的精简版,设置比较简单,还可以有背景颜色。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口权限问题 临时调试解决 在使用串口进行通信时,经常需要使用指令来赋予用户读写的权限 $ sudo chmod 777 /dev...查看linux所有用户 使用 /etc/passwd 文件 使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。.../etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。

    10K41

    嵌入式Linux串口编程

    简介 嵌入式Linux串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。...嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大多是RS232或者RS485接口,对于软件层面上来说,RS232与RS48区别不大。...RS232与RS485在使用上的区别,RS232是全双工的,只能对接一个设备串口设备。RS485是半双工的总线协议,一般可以挂多个传感器设备,半双工的意思是同时只能有一个设备向串口发数据。...用到的API函数 函数 说明 open 打开设备,用于打开串口设备 fcntl 修改设备描述符属性参数 isatty 检测打开的描述符是否指向一个终端 tcgetattr 用来获取串口终端参数 cfmakeraw...将终端设置为原始模式,该模式下所有的输入数据以字节为单位被处理 tcflush 用于清空输入、输出缓冲区 tcsetattr 设置串口终端参数 read 读取数据 write 写数据 close 关闭串口设备

    13.1K20

    使用picocm来进行Linux下的串口调试

    主要原因就是minicom没有彩色文字,看着难受,特别是调试ARM Linux的时候233 安装 因为正常是在Debian系列的Linux发行版上面使用的(deepin或者ubuntu这些的,解决方案比较完善...然后使得这个设备能被picocom工具访问使用 sudo chmod 777 /dev/ttyUSBx 请自行将ttyUSBx替换为当前使用的串口设备 连接串口设备 下面是一般连接一个串口设备说使用的命令...参数讲解 -b: 设置波特率参数 /dev/ttyUSBx:串口设备,请替换为当前使用的串口设备 打开帮助提示页面 ?...需要注意的一点是,里面的命令提示都是说C-x什么的,其实C-就是由Ctrl+a转义过来的,正如帮助页面的C-h,就是用Ctrl a+h打开的,所以其他的命令也是同理 发送接收文件 如果直接使用上面的连接串口设备的命令直接去进行文件发送的话...例如使用ymode进行发送接收的例子 picocom --send-cmd "sb -vv" --receive-cmd "rb -vv" -b 115200 /dev/ttyUSBx 同样的,使用当前的串口设备文件

    9.9K60

    Spring boot串口通信,windows、linux,docker环境配置说明

    1.Spring boot有转用于串口通讯包 该包网上教程大多都是监听串口获取数据,如果只接收数据,可以自行百度,该包使用方法 2.使用com.fazecast下的jSerialComm...(); //通过串口名称获取串口对象,Windows一般COM+数字,Liunx一般ttyUSB+数字 SerialPort.getCommPort("COM") //预设rts; serialPort.setRTS...,off为字节数组,返回写入的字节长度 serialPort.writeBytes(off, off.length); //读取串口输出内容,content为串口输出内容,返回读取长度 serialPort.readBytes...(content, content.length) //关闭串口 serialPort.closePort(); 3.docker容器配置 使用docker发布jar时,如果不映射本机设备,将导致无法访问串口...,所以最好指定特定串口

    3.7K30

    和12岁小同志搞创客开发:手撕代码,做一款声控灯

    loop(){ int soundState = analogRead(soundPin); //读取传感器的值 // Serial.println(soundState); //串口打印声音传感器的值...Arduino的模拟引脚连接到一个了10位AD转换,输入0~5V的电压对应读到0~1023的数值,每个读到的数值对应的都是一个电压值。比如:ADC数值512代表电压2.5V。...为了方便调测,程序中添加了串口监视器功能,需要修改预设值的话,可以打开串口监视器,看看你需要的声音强度的值在什么范围,然后做相应调整就可以了。...begin()函数实现打开串口,设置通信波特率,原型如下所示: void HardwareSerial::begin (long speed) speed:波特率数值 常用串口波特率包括:4800、...print()函数和println()函数实现往串口发数据,只是print()函数没有换行功能而println()函数有换行。它们以ASCII码形式向串口发送数据。

    35040

    linux uart应用开发(ttyS*设备)《Rice linux 学习开发》

    写这篇文章的原因:因为在linux开发串口应用的时候,遇到了问题,让遇到相同问题的人少走点弯路: ①读串口数据的时,需要接受换行符才能返回。...对于 linux的开发板来说,串口的驱动是不需要我们去开发,我目前是在内核4.9上开发,只需要修改一下设备树就可以了。所以直接对设备文件进访问就可以了。...linux使用串口的方法: 1.串口配置的头文件: #include /*POSIX 终端控制定义*/ 2.串口波特率的设置: 波特率B48004800B96009600B6750067500B115200115200...VDSUSP:(not in POSIX; not supportedunder Linux; 031, EM, Ctrl-Y) 延时挂起信号。当用户程序读到这个字符时,发送 SIGTSTP 信号。...若在时间未到之前又读到了一个字符(但此时读到的总数仍不够VMIN)则计时重新开始(即每个字符都有VTIME*100ms的超时时间)。

    3.4K10

    【编程基础】Windows下如何玩转串口编程

    在windows下,各种外设都被看成文件,这个跟Linux下看成设备节点类似,所以串口当然是被看成是一个文件。既然被看成文件,所以打开和读写都跟文件类似。...打开串口后,需要设置超时和串口参数,超时用SetCommTimeouts函数,设置波特率、数据位、校验位、停止位等使用SetCommState函数。...串口发送其实就是串口作为文件的写操作,API函数是WriteFile,比如下面的实例就向同步模式打开的串口发送buffer中的数据: WriteFile(hComm, buffer, dwSendLen...串口接收其实就是串口作为文件的读操作,API函数是ReadFile,下面就是同步模式下的将串口数据读到buffer中: ReadFile(hComm, buffer, dwReadLen, &dwActlen...以上就是Windows下的串口发送和接收,具体API函数的详细用法,可以参考MSDN。只要好好阅读相关的每个函数,完成基本的串口通信就没有问题。

    2.9K50
    领券