我想大多学stm32 USB的都是介于无法与上位机通讯,在此发表一篇教程。
学习STM32USB通讯的时候发现资料是真的不多,特别是USBPC端的驱动资料实在是太少了,鸟语不好Google看不太懂,自己慢慢摸索吧。
在论坛找到一个libusb的开源库可以不用写驱动直接用官方软件生成驱动,用控制台通讯成功后发现做UI那才叫一个痛苦,各种调用GDIPlus搞我是稀里糊涂的
后来看了一下LabVIEW一个驱动200多兆,强迫症受不了,直接没学。
无意间看见了用中文编程的语言易语言 ,但是那叫一个开心啊,还用这么好用的东西,试用了一下发现用法和C sharp差不多,直接开干,结合网络资源先用HID直接通讯,参考资料
http://www.viewtool.com/bbs/forum.php?mod=viewthread&tid=199 ,最后移植到易语言里面,自己写了一个易模块调用C++的kernel32库直接和USB通讯,里面就四个函数,使用简单,方便,不懂的建议先看一下易语言的基本语法,基本上一两个小时就可以学会易语言。附件有上位机源码和下位机源码。
1,新建一个易语言窗口程序
2.在窗口上添加一个按钮控件和编辑框控件
3.加入代码,附加中有代码,上位机和下位机代码都详细注释了
运行效果,点击按钮,先从主机发送一段数据,下位机返回的是数据会显示在编辑框里面
做过测试最快速度可以一秒500包左右,500*64/1024差不多30Kb每秒
网盘链接:
http://pan.baidu.com/s/1eS9y8JS 密码:nwd9
我的网盘喜欢清理,有时候会清理掉,留论坛一份