• c语言通信之串口通信


    在C语言中,可以使用串口通信、网络通信等多种方式实现计算机之间的通信。其中,串口通信通常用于近距离、低速率的通信,而网络通信则适用于远距离、高速率的通信。

    下面以串口通信为例,介绍在C语言中如何实现串口通信。

    1.打开串口

    在C语言中,可以使用标准库函数open()打开串口。该函数的第一个参数是串口设备文件的路径,第二个参数是打开文件的模式,这里我们使用只读模式“r”。例如,要打开COM1串口,可以使用以下代码:

    1. int fd;
    2. fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);

    2.配置串口

    打开串口后,需要对串口进行配置。可以使用tcgetattr()函数获取当前串口的配置信息,并使用tcsetattr()函数设置新的配置信息。例如,要设置波特率为9600、数据位为8、停止位为1、无校验位,可以使用以下代码:

    1. struct termios options;
    2. tcgetattr(fd, &options);
    3. cfsetispeed(&options, B9600);
    4. cfsetospeed(&options, B9600);
    5. options.c_cflag |= (CLOCAL | CREAD);
    6. options.c_cflag &= ~PARENB;
    7. options.c_cflag &= ~CSTOPB;
    8. options.c_cflag &= ~CSIZE;
    9. options.c_cflag |= CS8;
    10. tcsetattr(fd, TCSANOW, &options);

    3.读写数据

    配置好串口后,就可以进行数据通信了。可以使用read()函数从串口读取数据,使用write()函数向串口写入数据。例如,要从串口读取一个字节的数据,可以使用以下代码:

    1. char buffer[1];
    2. int n = read(fd, buffer, 1);

    如果要向串口写入一个字节的数据,可以使用以下代码:

    1. char buffer[1] = {'a'};
    2. int n = write(fd, buffer, 1);

    4.关闭串口

    通信结束后,需要关闭串口。可以使用close()函数关闭串口。例如,要关闭COM1串口,可以使用以下代码:

    close(fd);

  • 相关阅读:
    shell_52.Linux测试与其他网络主机的连通性脚本
    Jetson nano安装torch和torchvision
    nginx负载均衡
    qemu创建linux虚拟机(亲测有效)
    Tuxera NTFS 2023安装使用教程 Tuxera NTFS破解版 Tuxera NTFS for Mac优惠
    威高血液净化冲刺香港:年营收29亿 净利降12.7%
    Stable Diffusion中的ControlNet插件
    最新发布!阿里云卓越架构框架重磅升级
    Redis安装
    查询优化器:RBO与CBO
  • 原文地址:https://blog.csdn.net/A185822153/article/details/134494775