美文网首页
libserialport 库串口速度测试

libserialport 库串口速度测试

作者: wjundong | 来源:发表于2023-01-13 20:55 被阅读0次
#include <libserialport.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>

int main(int argc, char **argv)
{
    if (argc < 2) {
        printf("Usage: %s <port> <baudrate> \n", argv[0]);
        return -1;
    }

    char *port_names = argv[1];
    struct sp_port *port;
    int baudrate = argc == 3 ? atoi(argv[2]) : 115200;

    sp_get_port_by_name(port_names, &port);
    int res = sp_open(port, SP_MODE_READ_WRITE);
    if(res != SP_OK)
    {
        printf("Open port: %s ERROR %d\n", port_names, res);
        abort();
    }

    printf("Open port: %s baudrate: %d\n", port_names, baudrate);
    sp_set_baudrate(port, baudrate);
    sp_set_bits(port, 8);
    sp_set_parity(port, SP_PARITY_NONE);
    sp_set_stopbits(port, 1);
    sp_set_flowcontrol(port, SP_FLOWCONTROL_NONE);

    unsigned int timeout = 500;
    int buf_len = 40960000;
    char *buf = malloc(buf_len);

    while (1)
    {
        struct timeval start, end;

        gettimeofday(&start, NULL);
        int n = sp_blocking_read(port, buf, buf_len, timeout);
        gettimeofday(&end, NULL);

        if(n > 0)
        {
            long timeUsedUs = (end.tv_sec - start.tv_sec) * 1000 * 1000 + end.tv_usec - start.tv_usec;
            double speed = n * 1000.0 * 1000.0 / timeUsedUs / 1024;

            printf("recv n: %d  time timeUsedUs %d us: speed %.2f KB/s\n", n, timeUsedUs, speed);
        }
    }
    
    free(buf);
    sp_close(port);

    return 0;
}

相关文章

  • 2018-09-30 交叉编译C程序

    需求: 安卓平板支持串口通信,需要测试串口是否通的。不想直接写JNI/APP来测试,先用个原生C程序测试串口。程序...

  • STM32的ITM跟踪调试功能介绍及实现(五)USB调试实例

    之前调试USB设备程序时,使用的是通过串口来打印变量,实际测试时,因为串口速率问题,串口会丢包;如果迁就串口慢速输...

  • Unity 集成蓝牙插件教程

    一.硬件测试环境 可将蓝牙模块 通过USB串口模块联接到windows上的串口助手. 这样串口助手可以通过蓝牙模块...

  • HC-05蓝牙串口调试

    1:HC-05蓝牙串口测试方法 2:安装setup.exe文件 提示串口错误,错误如下: 解决办法: 串口控制控件...

  • 【HAL库】STM32上手体验 之 UART 串口应用

    【HAL库】STM32上手体验 之 UART 串口应用 串口是非常方便的调试工具,如果没有串口很多程序只能根据可见...

  • 单片机的com口通讯

    通讯流程 open函数打开串口设备 设置串口的波特率波特率:串口通讯速度的指标,就是比特率比特率 9600bps,...

  • 1.8 嵌入式

    郭老师讲了关于串口的知识,分串行和并行,并行行速度快,资源多,串行速度慢,资源少。老师讲解关于串口发送,接收等相关...

  • Linux下串口设备驱动

    串口操作 串口操作需要的头文件 #include /*标准输入输出定义*/ #include /*标准函数库定...

  • JN-MINI5728连接串口调试

    JN-MINI5728连接测试 之前连接测试一直有问题,串口没有输出,后来发现原来是串口线的RXD和TXD 接反了,

  • 科创课程002串口 与 机械臂

    通过电位器进行读数的测试: claw 测试 前臂代码测试 后臂代码测试 底座测试 串口代码1 代码2 代码3

网友评论

      本文标题:libserialport 库串口速度测试

      本文链接:https://www.haomeiwen.com/subject/pusscdtx.html