Linux 串口编程(C语言)

本文详细介绍了Linux环境下串口通信的基本操作,包括如何打开串口、设置串口属性(波特率、数据位、奇偶校验等)以及读写数据。通过termios结构体和相关函数如tcgetattr()、tcsetattr()来配置和获取串口属性。同时,提到了在打开串口时使用O_NOCTTY选项的重要性,以及设置波特率的cfsetispeed()和cfsetospeed()函数的应用。
  • 简述:串口的基本操作包括读和写,需要设置好串口的属性,包括串口的波特率,数据位,奇偶校验,停止位等内容。
  • 串口设备文件:/dev/ttySn,如果是USB扩展出来的则为/dev/ttyUSBn
  • 包含头文件:termios.h
  • 打开 串口 open
    在打开串口时,除了需要用到 O_RDWR 选项标志外,通常还需要使用 O_NOCTTY,
    目的是告诉 Linux“本程序不作为串口的‘控制终端’”。如果不使用该选项,一些输入字符
    可能会影响进程的运行(如一些产生中断信号的键盘输入字符等)。
    发送数据:write 读取数据 read
    串口属性设置:一般需要设置的属性分为波特率,数据位,奇偶校验等,这些属于是 控制标志,通过 termios 结构的 c_cflag 成员可设置;而对于termios是可以设置输入标志,输出标志,本地标志以及控制标志的,
struct termios {
   
   
tcflag_t c_cflag /* 控制标志 */
tcflag_t c_iflag; /* 输入标志 */
tcflag_t c_oflag; /* 输出标志 */
tcflag_t c_lflag; /* 本地标志 */
tcflag_t c_cc[NCCS]; /* 控制字符 */
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值