在ARM板上移植CH341驱动

本文详细介绍了如何通过自行编译内核来解决ARM板使用CH341设备时的驱动问题。首先,通过lsusb命令获取设备厂商ID,然后在内核代码中添加相应的设备识别信息,并在配置选项中选择支持CH341的驱动。在实际应用中,发现当发送数据长度超过32字节时,才能实现有效通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个用ARM板读取数据的项目,但是开发板一般都是只带了PL2303的驱动,所以需要自己编译出支持CH341的驱动,或者编译出可加载的模块。

首先要知道设备的厂商信息,将要CH341的设备连接在PC机上,用lsusb命令,查看厂商的ID信息。

将此信息粘贴到ch341.c (CH341的驱动文件,放在内核目录Linux-2.6.28/drivers/usb/serial/ch341.c)  的结构体:

static struct usb_device_id id_table [] = {
        { USB_DEVICE(0x4348, 0x5523) },//厂商信息
        { USB_DEVICE(0x1a86, 0x7523) }, //厂商信息

        { }, //可添加新的厂商信息
};

然后在配置内核选项的时候记得选择CH341这项,之后编译内核就行了。

不过在实际的使用中发现,CH341与ARM9通信时,只有发送的字节数大于32个字节时才会一起发送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值