SUPER_CRJ 发表于 2020-9-3 15:39:55

如何开发windows下USB串口驱动

RT(请不要提HID与WINUSB类。只需要串口)。
打算用:自己编写WIN上的串口驱动与自己的STM32-USB配合。
因为自己经常需要用STM32的USB与电脑通信。但是:CDC/VCP普遍安装驱动难的问题。所以想自己开发WIN驱动。
最终是希望像Jlink的CDC串口或者CH340那样:几乎每台电脑安装驱动一次OK,而且显示的名称是可以定制的。
只编写过STM32的USB,且使用的都是通用的免驱的,或者一个inf文件。
请大家指导下。只需要使用串口,且与STM32配合的方法。

SUPER_CRJ 发表于 2020-9-3 15:40:46

1:为什么是串口?答:串口应用非常广泛。windows下编程也非常方便和成熟,主要是简单。
2:当前情况:
        a)现在使用的CDC串口经常遇到驱动装不上的问题。如果使用HID设备,虽然设备免驱,但是HID编程又比较麻烦(我用C#编程,之前调用一个类,偶尔会出错。最后使用HIDSharp类,因为资料少,来回断断续续折腾了几个月时间)。
        b)所以免驱的HID设备,因为针对人比较多,二次开发比较麻烦。没有串口方便。
        c)HID速度低,虽然WIN_USB速度快,但是想到HID编程的过程。。。

游在云间 发表于 2020-9-3 15:55:55

前段时间了解到可以用模拟网卡,好像是免驱

canspider 发表于 2020-9-3 16:18:24

楼主这是拉不出屎准备修茅坑了么

Windows上的串口驱动是现成的,不需要你写
至于你说的不好安装的问题,那是因为你没搞明白Windows设备管理机制
你就算自己写一个驱动,不搞明白设备管理机制,你还是会遇到这里装不上,那里装不上的问题

loohoo0302 发表于 2020-9-3 16:43:53

canspider 发表于 2020-9-3 16:18
楼主这是拉不出屎准备修茅坑了么

Windows上的串口驱动是现成的,不需要你写


对,有道理,cdc一直在用,很简单,甚至可以虚拟多串口。

Himem 发表于 2020-9-3 16:51:48

所以自己写的话驱动签名就不好搞把

canspider 发表于 2020-9-3 16:57:55

本帖最后由 canspider 于 2020-9-3 17:06 编辑

Himem 发表于 2020-9-3 16:51
所以自己写的话驱动签名就不好搞把

整个驱动开发流程里面签名是最好搞的
一般都是找一个代理公司,把驱动给他们,不到一周弄好证书
不找代理就自己去微软网站上申请
win8以后在联网的电脑上会自动下载安装,都不用给用户提供驱动安装包

Himem 发表于 2020-9-3 17:05:52

本帖最后由 Himem 于 2020-9-3 17:07 编辑

canspider 发表于 2020-9-3 16:57
整个驱动开发流程里面签名是最好搞的
填一张表格,把驱动和表格交给微软
审核通过后,把钱交上去签名就下 ...

不知费用大概多少?

真要找微软签名的话 USB也要买正规要VID号吧 这个记得也不便宜

canspider 发表于 2020-9-3 17:09:29

Himem 发表于 2020-9-3 17:05
不知费用大概多少?

真要找微软签名的话 USB也要买正规要VID号吧

VID肯定得是你自己申请的或是别人授权的
VID号最便宜是买断3000美元,但是没有USB logo授权。要不然就交2000美元一年的年费。这个是几年前的行情,现在不知道
微软认证这边大概不到1000元人民币一年

kebaojun305 发表于 2020-9-3 17:41:45

游在云间 发表于 2020-9-3 15:55
前段时间了解到可以用模拟网卡,好像是免驱

TCP/IP协议 比较占用单片机资源。{:titter:}

hcambridge 发表于 2020-9-3 18:28:30

本帖最后由 hcambridge 于 2020-9-3 18:29 编辑

知道驱动需要签名一条就够你打道回府了。不能想造汽车,先去造轮胎了。
有那个功夫还是把现有的东西用好了更简单。

SUPER_CRJ 发表于 2020-9-3 18:34:43

canspider 发表于 2020-9-3 16:18
楼主这是拉不出屎准备修茅坑了么

Windows上的串口驱动是现成的,不需要你写


客户种类比较多,CDC中win自带的驱动遇GHOST版本,文件不全的经常发生。处理起来比较麻烦。

SUPER_CRJ 发表于 2020-9-3 18:37:46

游在云间 发表于 2020-9-3 15:55
前段时间了解到可以用模拟网卡,好像是免驱

免驱不是关键,主要是用户需求二次开发。
关于串口的二次开发是相对来说简单。

SUPER_CRJ 发表于 2020-9-3 18:41:15

hcambridge 发表于 2020-9-3 18:28
知道驱动需要签名一条就够你打道回府了。不能想造汽车,先去造轮胎了。
有那个功夫还是把现有的东西用好了 ...

客户那边控制不了。
经常GHOST,还有缺失文件。最主要的是极少部分客户不懂电脑。到后来就改HID了,但是这次想兼容下二次开发。串口的二次开发相对来说比较简单。
但是想用一个相对毕竟好的方法,避免那些GHOST、缺失文件的客户。

canspider 发表于 2020-9-3 18:49:33

SUPER_CRJ 发表于 2020-9-3 18:34
客户种类比较多,CDC中win自带的驱动遇GHOST版本,文件不全的经常发生。处理起来比较麻烦。 ...

这种情况下,你做个安装包把系统自带的cdc驱动帮他装上不就行了吗
如果为了体现你公司的实力,可以重新开发一个驱动,打上自己的logo

SUPER_CRJ 发表于 2020-9-3 19:04:23

canspider 发表于 2020-9-3 18:49
这种情况下,你做个安装包把系统自带的cdc驱动帮他装上不就行了吗
如果为了体现你公司的实力,可以重新开 ...

明白了。可以打包。。
我回头想办法试试,电脑端关于驱动我是不怎么懂。
如果这样可以解决,就太好了。
页: [1]
查看完整版本: 如何开发windows下USB串口驱动