在linux下使用基于HL340的USB串口线

89 篇文章 0 订阅
现在大部分的本都没有串口了,所以USB转串口线是很常用的东西。
2.6kernel已经包含了对这种设备的支持:
# modprobe usb-serial

当然只是这样还不够,还需要对应的具体设备(芯片)的驱动。我使用的fedora8的kernel是2.6.23,已经包含很多类似的设备,比如常用的pl2303等。但很可惜我偏偏买到了一种不支持的设备,很衰。而且据说是2.6.24就会支持,更郁闷。为了个这个再重新安装个kernel或系统也不划算,只好自己找找这方面的驱动。
很不容易的终于找到了:
http://www.csie.ntu.edu.tw/~b94101/ch341_drv.tar.bz2

下载回来解压,包里有两个现成的脚本来编译,ins.sh,ins-2.6.23.sh,编译完会自动载入module。但没那么容易,在fedora8下编译会出现几个错误,解决办法就是直接注释相关行:ch341的301和303行,tty_ioctl.c的35行。
编译完成,模块也已经载入,但期待的/dev/ttyUSB0仍然没有出现。如果是这样,就说明碰到和我一样衰的设备,设备ID为0x1a86,0x7523。手工添加吧,把ch341.c中的:
static struct usb_device_id id_table [] = {
    { USB_DEVICE(0x4348, 0x5523) },
    { },
};

改为:
static struct usb_device_id id_table [] = {
    { USB_DEVICE(0x4348, 0x5523) },
    { USB_DEVICE(0x1a86, 0x7523) },
    { },
};

再重新编译载入,就可以看到/dev/ttyUSB0了。
这里可以下载我的修改好和编译好的包:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CH341的串口方式支持WINDOWS 98/ME/2000/XP/Vista/Linux,提供相关驱动程序, CH341的USB串口支持大多数常用的串口监控及调试工具程序。 驱动安装方法: 1. 标准INF文件安装方法 WINDOWS提示找到新硬件,指定驱动程序所在目录DRIVER,自动安装驱动, 如果WINDOWS没有提示找到新硬件,那么在设备管理器的硬件列表中, 选择带问号的USB设备,更新驱动程序并指定目录。 2. 使用驱动程序安装工具 先拔掉USB串口连接线,然后安装,然后插上连接线 直接使用CH341SER.EXE安装包,可以安装/升级/卸载驱动程序, 该方法更适用于最终用户。 CH341串口使用方法: CH341实现USB串口,在逻辑功能方面的使用方法与普通计算机串口相同。 与普通计算机串口的区别: CH341提供的是仿真串口,所以不支持串口本身的纯硬件操作,例如I/O操作, 普通计算机串口是静态设备,而CH341串口是动态设备,理论上随时会断开, CH341的附加功能(下面有介绍):读取外部串行EEPROM,支持更高波特率。 提供“模块调试”工具,启动后将“类型”选择为“手工输入发送”, 打开串口后就可以用于CH341串口或者普通串口的输入输出监控及收发调试。 注意事项: CH341串口是即插即用的USB设备,正在使用CH341串口进行数据传输的过程中, 不可以将其断开(断开是指从USB插座中取出CH341或者关闭CH341的电源), 也就是说,必须在应用程序关闭该串口后,CH341串口才可以从USB插座中拔出。 如果在应用程序使用CH341串口的过程中,CH341串口设备从USB插座中断开, 那么应用程序应该尽快关闭CH341串口并退出(关闭及退出可能需要数秒时间)。 如果在CH341串口通讯过程中发生错误,极有可能是CH341串口已经物理断开, 所以在检测到错误后建议关闭CH341串口,稍等两秒后再重新打开串口通讯。 采用设备事件通知的方法可以及时了解CH341串口设备的连接与断开, 从而使串口应用程序能够及时打开和关闭CH341串口串口动态链接库CH341PT.DLL提供了API,可以监视CH341串口插拔事件, 可以搜索和识别CH341串口等,具体需参考CH341PT.H文件。 如果通讯波特率较高,建议设置较大的缓冲区,尤其在WINDOWS 98/ME下, 线程调度能力和USB实时性都比WINDOWS 2000/XP差,如果串口接收缓冲区较小, 那么在通讯波特率较高时,接收大量数据会导致串口缓冲区溢出而丢弃数据。 由于底层的USB是将多个字节组成数据包后安插到各个1mS帧中进行传输, 所以有可能将串口收发的紧靠着的两个字节实际分割在两个USB数据包甚至 两个USB帧中,在最坏情况下这两个字节在时间上有可能相隔1mS甚至2mS。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值