主题 : USB虚拟串口 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
楼主  发表于: 2012-01-08 14:55

 USB虚拟串口

版主啊,2.6.38内核里面有没有主机端USB虚拟串口的驱动啊,我的6410开发板做主机和一个STM32 USB接口(虚拟成串口)通信。
[ 此帖被yx2010在2012-01-09 10:24重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-01-08 16:17
USB转串口的驱动就是了,关键是你的下位机能不能符合那种驱动。

另外,请把标题改为具体问题。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
2楼  发表于: 2012-01-09 10:23
如果用USB转串口的驱动,那传输速率跟不上啊,用来实时定位的。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
3楼  发表于: 2012-01-09 10:45
3G都使用这样的驱动,通讯速率实际还是USB通道的,串口设备只是的辅助名而已。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
4楼  发表于: 2012-01-09 14:44

 回 3楼(mindee) 的帖子

你说3G上网卡的驱动都是用usb转串口的驱动吗,需要usb转串口线吗,我两个都是usb接口的
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
5楼  发表于: 2012-01-09 16:22
USB 3G卡都是内置了USB 转串口功能。

加转接线纯属多此一举,再者,也没地方去接。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
6楼  发表于: 2012-01-09 16:58

 回 5楼(mindee) 的帖子

哦,3g上网卡里面用的是高速串口吧,内核里面的3g上网卡驱动中usb转串口功能是在/driver/pl2303.c还是在usb-serial.c中
级别: 侠客
UID: 39689
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
综合积分: 138 分
注册时间: 2011-03-11
最后登录: 2012-04-22
7楼  发表于: 2012-04-10 12:18

 回 3楼(mindee) 的帖子

版主,你好,我用内核中的通用串口驱动generic.c,编译后,将STM32的USB接口(虚拟串口)插入mini6410开发板中,板上显示信息为:
# usb 1-1: new full speed USB device using s3c2410-ohci and address 2
usb 1-1: New USB device found, idVendor=0483, idProduct=5740
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: STM32 Virtual COM Port
usb 1-1: Manufacturer: STMicroelectronics
usb 1-1: SerialNumber: Demo 1.000
one_wire_status: 4
usbserial_generic 1-1:1.0: Generic device with no bulk out, not allowed.
usbserial_generic: probe of 1-1:1.0 failed with error -5
usbserial_generic 1-1:1.1: generic converter detected
usb 1-1: generic converter now attached to ttyUSB0
这是显示设备已经挂载到开发板上了吧, 我自己写了个应用程序:
#include<stdio.h>
#include<linux/fs.h>
#include<stdlib.h>    
#include<unistd.h>    
#include<sys/types.h>  
#include<sys/stat.h>  
#include<fcntl.h>      

int main()
{
    char Buf[40];
    int handle;
    //*buffer="This data is from USB device in Linux";
    handle=open("/dev/ttyUSB0", O_RDWR);
    if(handle==-1)
    {
        printf("open failure");
    }
       strcpy(Buf,"This data is from USB device in Linux");
    write(handle, Buf,38);
    read(handle, Buf, 38);
    close(handle);
    return 0;
}
程序应该没错吧,但是不知道数据写到哪个缓冲区了。请楼主帮我看看吧,万分感谢