USB1.1通讯(AVR + pdiusbd12)

时间:2021-05-12 00:11:49
我有一个USB项目,自己写的上位机和下位机程序,驱动是由DriverStudio3.1自动生成,现在可以通讯了。由于自己能力有限现在出了点问题没有头绪。状况是:读下位机的数据没有任何问题,但向下位机写数据的时候不定时程序会被挂起,WriteFile返回错误码为31。并且前一个WriteFile返回为0。恳求高手指点。QQ:602931725

7 个解决方案

#1


可能还是生成的驱动有点问题。
错误代码31是代表usb设备不正常或者通讯连接不正常。

#2


谢谢啊,我觉得也是驱动问题,但我写不了USB的驱动。是不是修改驱动写下位机的部分。再次谢谢你。我也是第一次发帖,实在是没有头绪了。

#3


引用 2 楼 binghan2836 的回复:
谢谢啊,我觉得也是驱动问题,但我写不了USB的驱动。是不是修改驱动写下位机的部分。再次谢谢你。我也是第一次发帖,实在是没有头绪了。

帮顶

#4


你的手头没有参考代码吗?

#5


谢谢大家关心,手头驱动资料基本没有,只是由DriverStodio自动生成的,应该要改写一下才可以。因为这是一个小型的商业项目,要求要严格一点。现在我的设备读写都已经实现,并且读数据很稳定,连续上万次的读都没有问题,但只要是写设备的时候(连续对设备写16个字节),程序就会不定期的挂起(有事可以写上万次,有时就只能写几百次,很是不稳定)。现象是:首先是写数据函数返回的长度0,接着再写,程序就挂起了。并返回错误码为31!!小弟对驱动不是太懂,请高手关注。如果能够解决,我可以把我的源码贡献出来给大家交流(由于涉及的商业,源代码只能在私下交流,不便上传)。潜水的帮顶,路过的请求围观。我QQ:602931725

#6


帮顶。
请教楼主,DriverStodio生成的sys文件加入工程中就可以工作了吗?我也在做PC与AVR通信,但是还没搞清楚一个工程下具体要那些文件以及对应作用!

#7


感谢关注,过程是这样的:

        1. AVR要让主机识别,就是枚举成功。这是其他工作的关键,
        2. 然后是用DriverStodio生成驱动(.sys)和测试程序(.exe)。这要分别编译的。
        3. 加载驱动。 就是把设备连接上主机,枚举成功后会弹出加载驱动,按路径加载成功后才可以通讯
        4. 打开应用程序。这样就可以通讯了。

我不太明白你要问为什么所以我只能给你说大体过程。有什么疑问我们可以探讨。软件部分我可以帮你,我们公司一个多星期都没电了,只能回家才能回帖。只要我知道的我一定会帮助你。你要把你的进展告诉我。要不把你要实现的功能告诉我,我帮你生成驱动。我比较喜欢搞软件,但公司没人能搞USB,我只有单打独斗了。你的硬件怎么样。等来了电我就开始着手改写驱动了,不过我现在比较菜。一边学习,一边修改了。

#1


可能还是生成的驱动有点问题。
错误代码31是代表usb设备不正常或者通讯连接不正常。

#2


谢谢啊,我觉得也是驱动问题,但我写不了USB的驱动。是不是修改驱动写下位机的部分。再次谢谢你。我也是第一次发帖,实在是没有头绪了。

#3


引用 2 楼 binghan2836 的回复:
谢谢啊,我觉得也是驱动问题,但我写不了USB的驱动。是不是修改驱动写下位机的部分。再次谢谢你。我也是第一次发帖,实在是没有头绪了。

帮顶

#4


你的手头没有参考代码吗?

#5


谢谢大家关心,手头驱动资料基本没有,只是由DriverStodio自动生成的,应该要改写一下才可以。因为这是一个小型的商业项目,要求要严格一点。现在我的设备读写都已经实现,并且读数据很稳定,连续上万次的读都没有问题,但只要是写设备的时候(连续对设备写16个字节),程序就会不定期的挂起(有事可以写上万次,有时就只能写几百次,很是不稳定)。现象是:首先是写数据函数返回的长度0,接着再写,程序就挂起了。并返回错误码为31!!小弟对驱动不是太懂,请高手关注。如果能够解决,我可以把我的源码贡献出来给大家交流(由于涉及的商业,源代码只能在私下交流,不便上传)。潜水的帮顶,路过的请求围观。我QQ:602931725

#6


帮顶。
请教楼主,DriverStodio生成的sys文件加入工程中就可以工作了吗?我也在做PC与AVR通信,但是还没搞清楚一个工程下具体要那些文件以及对应作用!

#7


感谢关注,过程是这样的:

        1. AVR要让主机识别,就是枚举成功。这是其他工作的关键,
        2. 然后是用DriverStodio生成驱动(.sys)和测试程序(.exe)。这要分别编译的。
        3. 加载驱动。 就是把设备连接上主机,枚举成功后会弹出加载驱动,按路径加载成功后才可以通讯
        4. 打开应用程序。这样就可以通讯了。

我不太明白你要问为什么所以我只能给你说大体过程。有什么疑问我们可以探讨。软件部分我可以帮你,我们公司一个多星期都没电了,只能回家才能回帖。只要我知道的我一定会帮助你。你要把你的进展告诉我。要不把你要实现的功能告诉我,我帮你生成驱动。我比较喜欢搞软件,但公司没人能搞USB,我只有单打独斗了。你的硬件怎么样。等来了电我就开始着手改写驱动了,不过我现在比较菜。一边学习,一边修改了。