Linux串口的设置

http://www.360doc.com/content/12/0309/13/532901_192990022.shtml




设置流控制 


termios_new.c_cflag &= ~CRTSCTS; //不使用流控制 
termios_new.c_cflag |= CRTSCTS; //使用硬件流控制 
termios_new.c_iflag |= IXON|IXOFF|IXANY; //使用软件流控制 


 设置数据位大小 


termios_new.c_cflag |= CS8; //使用8位数据位 
termios_new.c_cflag |= CS7; //使用7位数据位 
termios_new.c_cflag |= CS6; //使用6位数据位 
termios_new.c_cflag |= CS5; //使用5位数据位 


设置奇偶校验方式 


termios_new.c_cflag &= ~PARENB; //无奇偶校验 


termios_new.c_cflag |= PARENB; //奇校验 
termios_new.c_cflag &= ~PARODD;  


termios_new.c_cflag |= PARENB; //偶校验 
termios_new.c_cflag &= ~PARODD;  


停止位 


termios_new.c_cflag |= CSTOPB; //2位停止位 
termios_new.c_cflag &= ~CSTOPB; //1位停止位  


输出模式 


termios_new.c_cflag &= ~OPOST; //原始数据(RAW)输出 


控制字符 


termios_new.c_cc[VMIN] = 1; //读取字符的最小数量 
termios_new.c_cc[VTIME] = 1; //读取第一个字符的等待时间















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux串口波特率设置是指在Linux系统中通过命令或程序设置串口通信的波特率,以实现不同设备之间的数据传输。一般情况下,串口波特率设置需要考虑串口硬件的支持范围、通信双方的波特率设置、数据传输的稳定性等因素。在Linux系统中,可以使用stty命令或编程语言中的串口库函数来进行串口波特率设置。 ### 回答2: 串口是一种通信方式,它使用一对线路连接两个设备,允许它们之间进行双向通信。在Linux系统中,串口的波特率设置常见于嵌入式领域,例如控制芯片、传感器和其他外围设备。 串口波特率指在传输数据时,每秒钟传输的比特数。波特率通常表达为波特/秒(bps)。波特率越高,传输速率越快。常用的波特率有9600、115200、230400等。 在Linux系统中,要进行串口波特率设置,首先需要了解设备文件和串口参数的概念。设备文件是一个文件名,代表着一个设备,例如/dev/ttyS0代表串口1。而串口参数包括数据位、停止位、校验位和波特率等设置。 当我们需要进行串口波特率设置时,首先需要使用stty命令来配置串口参数。例如,要设置波特率为115200,可以使用以下命令: ``` stty -F /dev/ttyS0 115200 ``` 其中,“-F”表示指定设备文件,/dev/ttyS0为串口1的设备文件,“115200”为设置的波特率。 此外,在一些特殊的应用中,也可以使用setserial命令进行串口波特率设置。setserial命令可以设置更多的串口参数,例如串口工作模式、中断等。例如,要设置串口1的波特率为9600,可以使用以下命令: ``` setserial /dev/ttyS1 baud_base 460800 divisor 48 ``` 其中,“baud_base”为基准波特率,即计算波特率的基数,一般为固定值,而“divisor”则是一个除数,它的值根据基准波特率和设置的波特率计算得出。 总之,在Linux系统中进行串口波特率设置,需要先了解串口参数的概念和相关命令的使用方法。在实际应用中,要根据具体的需求进行选择和设置。 ### 回答3: linux串口波特率设置在嵌入式开发和通信领域中非常重要。串口波特率是指串行通信时每秒传输的比特数。在串口通讯中,收发双方必须保持一致的波特率,否则会出现乱码等问题。 在linux系统中,串口设备可以通过设备文件进行访问,例如/dev/ttyS0代表第一个串口设备。要设置串口波特率,需要使用stty命令。stty命令的常用选项包括: - speed:设置波特率,如stty -F /dev/ttyS0 speed 9600。 - parity:设置校验位,如N表示无校验位,Even表示偶校验,Odd表示奇校验。 - stop:设置停止位数,如1表示一个停止位,2表示两个停止位。 - cs:设置数据位数,如cs8表示8位数据位。 例如,要设置串口波特率为9600、无校验位、一个停止位、8位数据位,可以使用以下命令: stty -F /dev/ttyS0 9600 cs8 -cstopb -parity 其中-cstopb表示使用1个停止位,-parity表示无校验位。如果要设置其他参数,可以参考stty命令的文档或者使用man stty命令查看帮助文档。 需要注意的是,不同的串口设备可能支持不同的波特率和其他参数。在设置上述参数时,需要确认串口设备支持这些参数。通常来说,串口设备支持的波特率范围为110 ~ 115200。如果使用的是USB串口转换器,则需要安装相应的驱动程序。 总之,正确设置串口波特率是保证串口通信稳定和正确的重要步骤。对于嵌入式设备而言,串口通信是与外界交互的主要方式之一,因此了解和掌握linux串口波特率设置方法非常有必要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值