2196|4

410

帖子

3

TA的资源

纯净的硅(高级)

楼主
 

【正点原子RV1126 AI Linux开发板】 USB转串口测试 [复制链接]

 

测试下USB转串口通信测试。

 

一、编译CH340模块驱动

USB转串口模块使用的芯片是CH340,需要移植CH340驱动到开发板。

 

1.1、配置、编译内核

开发板内核中有CH340驱动程序,默认没有选择,需要重新配置内核,编译内核。

执行命令:

hui@ubuntu:/opt/atk-rv1126_linux/kernel$ make ARCH=arm alientek_rv1126_defconfig

make ARCH=arm menuconfig

选择CH341驱动,编译成模块

hui@ubuntu:/opt/atk-rv1126_linux/kernel$ make ARCH=arm savedefconfig
hui@ubuntu:/opt/atk-rv1126_linux/kernel$ cp defconfig arch/arm/configs/alientek_rv1126_defconfig
hui@ubuntu:/opt/atk-rv1126_linux/kernel$ cd ..

hui@ubuntu:/opt/atk-rv1126_linux$ sudo ./build.sh kernel

编译完成后,生成的驱动程序

 

1.2、复制驱动到开发板

执行命令:

hui@ubuntu:/opt/atk-rv1126_linux$ scp kernel/drivers/usb/serial/ch341.ko root@192.168.1.21:/opt

 

在开发板下加载CH340驱动

加载完成后,找到ttyUSB0设备

 

二、串口测试

 

2.1、串口测试程序

uart_test.c

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <termios.h>
#include <unistd.h>
#include <sys/fcntl.h>

 char *buf = "rv1126 linux uart test!\r\n";

int main(void)
{
    int fd; 
    char *port = "/dev/ttyUSB0"; 
    speed_t baudrate = B115200; 
    
    struct termios options;
    
    
    if ((fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY)) == -1) {
        perror("无法打开串口");
        exit(-1);
    }

    tcgetattr(fd, &options);
    cfsetispeed(&options, baudrate);
    cfsetospeed(&options, baudrate);
    options.c_cflag &= ~PARENB; 
    options.c_cflag &= ~CSTOPB; 
    options.c_cflag &= ~CSIZE; 
    options.c_cflag |= CS8;
    options.c_cflag &= ~CRTSCTS; 
    options.c_iflag &= ~IXON; 
    options.c_oflag &= ~OPOST; 
    options.c_cc[VMIN] = 5; 
    options.c_cc[VTIME] = 2; 
    tcflush(fd, TCIFLUSH); 
    tcsetattr(fd, TCSANOW, &options);
    
    printf("成功连接到 %s\n", port);

    while (1)
    {
        write(fd,buf,strlen(buf));
        usleep(1000000);
    }
}

 

2.2、编译程序

执行命令:
hui@ubuntu:/opt/atk-rv1126_app/uart_test$ arm-linux-gnueabihf-gcc -o uart_test uart_test.c

 

编译完成后,将生成的uart_test 复制到开发板

 

三、串口测试

 

3.1、连接串口

 

3.2、在开发板上运行命令

 

PC机串口接收的数据

 

 

串口测试完成。

 

 

最新回复

是滴,主要是内核版本要对应,要不然insmod不上驱动   详情 回复 发表于 2024-2-18 11:46
点赞 关注(1)
 
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

主要还是重新配置内核,才能编译内核

测评的几个过程讲的到位

 
 
 

回复

364

帖子

0

TA的资源

版主

板凳
 

之前项目上也是,用户嫌我们自带的串口不够,要加USB,发现驱动没打,之后一下子把ch340和ftdi的都加上了

点评

最新的内核应该都集成了这些驱动,使用时配置需要选上  详情 回复 发表于 2024-2-18 10:07
 
 
 

回复

410

帖子

3

TA的资源

纯净的硅(高级)

4
 
LitchiCheng 发表于 2024-2-18 09:39 之前项目上也是,用户嫌我们自带的串口不够,要加USB,发现驱动没打,之后一下子把ch340和ftdi的都加上了

最新的内核应该都集成了这些驱动,使用时配置需要选上

点评

是滴,主要是内核版本要对应,要不然insmod不上驱动  详情 回复 发表于 2024-2-18 11:46
 
 
 

回复

364

帖子

0

TA的资源

版主

5
 
TL-LED 发表于 2024-2-18 10:07 最新的内核应该都集成了这些驱动,使用时配置需要选上

是滴,主要是内核版本要对应,要不然insmod不上驱动

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表