搜索
bottom↓
回复: 79

【开源】基于emWin的USB BULK上位机手册,仅需C,简单易实现

  [复制链接]

出0入0汤圆

发表于 2018-11-1 02:59:20 | 显示全部楼层 |阅读模式
本帖最后由 Eric2013 于 2018-11-1 03:23 编辑

说明:
1、如果你会emWin话的,就可以轻松制作上位机。做些通信和控制类上位机,比使用C#之类的方便程度一点不差,而且你仅会C语言就可以。
2、并且成功将emWin人性化,可以做些Windows系统上的小应用了,基本完全看不出是emWin做的,而且生成的软件很小。
     Win32 API编写的软件,最大的好处就是微软的各个系统版本都兼容,而且发布时软件比较小,仅仅一个exe小软件。
3、无需用户自己编写USB BULK驱动程序,详情见教程中1.4小节说明即可。同时,上位机设计中需要用到的各种文档、软件、驱动等,都在教程中都给出了下载地址。
4、教程中将USB BULK上位机和下位机设计中涉及到细节问题,全部毫无保留的进行了说明,可以防止大家少走很多弯路。
5、早期发布的网络摄像头之TCP上位机软件实现也是基于emWin模拟器的:https://www.amobbs.com/thread-5693183-1-1.html

注意事项:
1、如果想直接测试上位机的效果,务必优先看教程1.4 小节如何安装驱动。
2、关闭上位机软件的时候,右击页面退出,右上角的X号未做响应处理。
3、上位机是用的VC6.0实现的,测试上位机时,只有打开 USB 连接成功了才可以正常操作其它几个按钮。
4、配套的下位机是基于RTX及其USB中间件实现的,推荐使用 MDK4.74 进行编译。当然,使用最新版的 MDK5.2X 也是没问题的,
     在Options -> C/C++ -> Misc Controls选项里面添加--diag_suppress 3731即可。


上位机例程


下位机例程
STM32F103ZET6:


STM32F407IGT6:


STM32F429BIT6:


exe小软件:


Win32编写的小软件,简单易用



USB上位机教程文档:


教程目录:

  
USB基础知识,强烈推荐Cypress的USB中文文档:


文档目录:

  

截图效果:



  
GIF动态效果展示:


早期做的网络摄像头,同样也是采用的这套方案:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2018-11-7 10:18:13 | 显示全部楼层
这里补充个问题,驱动安装是采用的先安装RL-USB的驱动,然后用Zadig安装libusb驱动替换。实际上可以省去RL-USB的驱动安装,直接使用Zadig安装即可,详情可以看发布的教程。之所以这么做是因为RL-USB提供了数字签名




安装成功后

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-1 03:13:35 来自手机 | 显示全部楼层
可以试试segger官网例程中的usbbulk.dll,用起来更方便

出0入42汤圆

发表于 2018-11-1 05:08:10 来自手机 | 显示全部楼层
太感谢了,抓紧学习一下

出0入0汤圆

发表于 2018-11-1 07:15:18 来自手机 | 显示全部楼层
找了,好久没找到,谢谢,感谢楼主好人

出90入4汤圆

发表于 2018-11-1 07:41:40 | 显示全部楼层
赞一个。。。。。

出0入85汤圆

发表于 2018-11-1 07:58:42 | 显示全部楼层
网络传输速度为什么那么慢?才2MB

出0入0汤圆

发表于 2018-11-1 08:08:33 来自手机 | 显示全部楼层
好东西,多谢楼主

出75入90汤圆

发表于 2018-11-1 08:10:37 | 显示全部楼层
火前留名

出0入0汤圆

发表于 2018-11-1 08:11:30 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2018-11-1 08:25:41 | 显示全部楼层
还有这种东西,强!

出0入0汤圆

发表于 2018-11-1 08:30:28 来自手机 | 显示全部楼层
这界面挻漂亮啊,功能挻实用

出0入46汤圆

发表于 2018-11-1 08:46:36 | 显示全部楼层
火钳刘明

出0入0汤圆

发表于 2018-11-1 08:51:05 | 显示全部楼层
硬汉就是不一般,很实用的资料,学习一下,感谢分享

出0入0汤圆

发表于 2018-11-1 08:51:25 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2018-11-1 09:05:41 | 显示全部楼层
谢谢楼主分享!下载

出0入0汤圆

发表于 2018-11-1 09:11:03 | 显示全部楼层
屌屌屌                                   

出0入0汤圆

发表于 2018-11-1 09:20:12 | 显示全部楼层
感谢分享,学习下!

出0入0汤圆

发表于 2018-11-1 09:23:00 | 显示全部楼层
厉害。谢谢楼主分享~~

出0入0汤圆

发表于 2018-11-1 09:25:54 | 显示全部楼层
这个厉害了,赶紧收藏先!

出0入102汤圆

发表于 2018-11-1 09:27:47 来自手机 | 显示全部楼层
火钳刘明,硬汉分享的都是大作

出0入0汤圆

发表于 2018-11-1 09:28:27 | 显示全部楼层
赶紧收藏,最近也在搞EMWIN

出0入0汤圆

发表于 2018-11-1 09:38:50 | 显示全部楼层
楼主最近一个猛料一个猛料的爆

出0入13汤圆

发表于 2018-11-1 09:41:34 | 显示全部楼层
好东西,多谢楼主分享

出0入0汤圆

发表于 2018-11-1 09:51:49 | 显示全部楼层
硬汉厉害,谢谢!!

出0入0汤圆

 楼主| 发表于 2018-11-1 11:00:04 | 显示全部楼层
marshallemon 发表于 2018-11-1 07:58
网络传输速度为什么那么慢?才2MB

这个是视频传输,要做同步。要不视频撕裂,2MB/S已经很嗨了。

出0入0汤圆

发表于 2018-11-1 11:29:45 | 显示全部楼层
收藏,多谢楼主。。

出0入0汤圆

发表于 2018-11-1 11:54:58 来自手机 | 显示全部楼层
用这个做串口通讯或can的上位机也可以吧

出0入0汤圆

发表于 2018-11-1 12:12:19 | 显示全部楼层
厉害了楼主,谢谢分享

出0入90汤圆

发表于 2018-11-1 12:15:56 | 显示全部楼层
汗,玩EMWIN,还把PC软件一切搞会了。

出0入0汤圆

 楼主| 发表于 2018-11-1 13:45:49 | 显示全部楼层
ysu_er 发表于 2018-11-1 11:54
用这个做串口通讯或can的上位机也可以吧

没问题的。

出0入8汤圆

发表于 2018-11-1 13:50:12 | 显示全部楼层
楼主,支持USB printer class吗

出0入0汤圆

发表于 2018-11-1 14:07:48 | 显示全部楼层
好东西.

出0入25汤圆

发表于 2018-11-1 14:29:22 | 显示全部楼层

很赞,,感谢分享

出0入0汤圆

发表于 2018-11-1 15:10:27 | 显示全部楼层

串口与CAN的有例子吗?

出0入0汤圆

发表于 2018-11-1 15:12:29 | 显示全部楼层
楼主的文章出现的太及时了  

出0入0汤圆

发表于 2018-11-1 15:17:22 | 显示全部楼层
感谢分享,赞一个!

出0入0汤圆

 楼主| 发表于 2018-11-1 16:14:31 | 显示全部楼层
jingwaner 发表于 2018-11-1 13:50
楼主,支持USB printer class吗

还没有研究过这个类

出0入0汤圆

 楼主| 发表于 2018-11-1 16:15:08 | 显示全部楼层
soosqt 发表于 2018-11-1 15:10
串口与CAN的有例子吗?

串口有个,之前坛友做的:链接

出0入53汤圆

发表于 2018-11-1 16:37:20 | 显示全部楼层
硬汉,注意身体

出0入0汤圆

发表于 2018-11-1 17:10:09 来自手机 | 显示全部楼层
本帖最后由 XIUQIN 于 2018-11-1 17:11 编辑

谢谢分享!

出0入8汤圆

发表于 2018-11-1 17:35:36 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2018-11-1 19:04:22 来自手机 | 显示全部楼层
libusb不支持数字签名吧  而且好像很久没更新了  微软有winusb  

出0入0汤圆

发表于 2018-11-1 19:19:24 | 显示全部楼层
谢谢分享!

出0入0汤圆

 楼主| 发表于 2018-11-2 00:41:47 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2018-11-2 00:44:12 | 显示全部楼层
huangqi412 发表于 2018-11-1 19:04
libusb不支持数字签名吧  而且好像很久没更新了  微软有winusb

我没有直接使用libusb生成的驱动,我是安装的的RL-USB虚拟串口的驱动,带签名,然后用Zadig软件替换原有的。

出0入0汤圆

发表于 2018-11-2 06:23:12 来自手机 | 显示全部楼层
emwin竟然把pc软件干的活儿也干了,是不是啥时候也会出现在安卓平台了?

出0入0汤圆

发表于 2018-11-2 07:02:47 来自手机 | 显示全部楼层
wuha 发表于 2018-11-2 06:23
emwin竟然把pc软件干的活儿也干了,是不是啥时候也会出现在安卓平台了?

本质是vc写代码   只是扔掉mfc控件 将瞄点和鼠标模拟了一套em控件     可跟安卓扯不上

出0入0汤圆

发表于 2018-11-2 09:24:19 | 显示全部楼层
没有mac版本的,看来我还是要把我bootcamp装起来

出0入0汤圆

发表于 2018-11-2 09:28:07 | 显示全部楼层
好东西                          

出0入0汤圆

 楼主| 发表于 2018-11-3 10:52:56 | 显示全部楼层
yixin1851 发表于 2018-11-2 09:24
没有mac版本的,看来我还是要把我bootcamp装起来

跨平台得上Qt了,后面研究研究。

出0入0汤圆

 楼主| 发表于 2018-11-3 10:54:00 | 显示全部楼层
wuha 发表于 2018-11-2 06:23
emwin竟然把pc软件干的活儿也干了,是不是啥时候也会出现在安卓平台了?

跨平台还是VNC方便,各种主流平台都有软件。

出0入0汤圆

发表于 2018-11-3 11:14:07 | 显示全部楼层
看来又有一个方便的小软件可以试试了

出0入0汤圆

发表于 2018-11-3 14:27:24 来自手机 | 显示全部楼层
Eric2013 发表于 2018-11-3 10:54
跨平台还是VNC方便,各种主流平台都有软件。

大神 看了下 这个vnc是emwin带的功能  有没有单独的单片机用的vnc模块 或者可以剥离出单独这个功能  单独这个需要多大资源

出0入0汤圆

 楼主| 发表于 2018-11-3 14:50:45 | 显示全部楼层
huangqi412 发表于 2018-11-3 14:27
大神 看了下 这个vnc是emwin带的功能  有没有单独的单片机用的vnc模块 或者可以剥离出单独这个功能  单独 ...



早期的UCGUI源码里面不知道带没,看看能不能剥离出来。

出0入0汤圆

发表于 2018-11-3 16:32:30 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2018-11-3 18:11:49 | 显示全部楼层
好东西,感谢分享

出0入0汤圆

 楼主| 发表于 2018-11-4 00:52:00 | 显示全部楼层
huangqi412 发表于 2018-11-3 14:27
大神 看了下 这个vnc是emwin带的功能  有没有单独的单片机用的vnc模块 或者可以剥离出单独这个功能  单独 ...

帮你找了个之前群友发我的

https://github.com/Links2004/arduinoVNC

出0入0汤圆

发表于 2018-11-4 10:37:12 | 显示全部楼层
emwin已经玩出花来了,不会C#之前我当时也研究过emwin写上位机。

出0入0汤圆

发表于 2018-11-4 11:09:08 | 显示全部楼层
这个厉害了。

出0入0汤圆

发表于 2018-11-4 12:09:37 | 显示全部楼层
厉害,支持楼主!

出0入0汤圆

发表于 2018-11-4 13:42:17 | 显示全部楼层
谢谢楼主,有空学习下

出0入0汤圆

发表于 2018-11-4 14:33:06 | 显示全部楼层
boboo 发表于 2018-11-1 03:13
可以试试segger官网例程中的usbbulk.dll,用起来更方便

这个讲下,具体的。我参考这一窃不通。

出0入0汤圆

 楼主| 发表于 2018-11-4 15:29:25 | 显示全部楼层
hyghyg1234 发表于 2018-11-4 10:37
emwin已经玩出花来了,不会C#之前我当时也研究过emwin写上位机。



emWin整好了,的确还是挺方便的。

出0入0汤圆

 楼主| 发表于 2018-11-4 15:37:18 | 显示全部楼层
lfgc 发表于 2018-11-4 14:33
这个讲下,具体的。我参考这一窃不通。

从SEGGER官网下载一个他们给各个IC厂家做的例子,比如STM32H7 NUCLEO的。

里面有个此文件夹,可供学习:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-7 10:38:51 | 显示全部楼层
这个必须过来支持一下,最近在做USB

出0入8汤圆

发表于 2018-11-7 12:41:07 | 显示全部楼层
hyghyg1234 发表于 2018-11-4 10:37
emwin已经玩出花来了,不会C#之前我当时也研究过emwin写上位机。

C#的程序有时用时不方便,需要装.net控件

出0入0汤圆

发表于 2018-11-20 11:53:28 | 显示全部楼层
谢谢,资料很给力

出0入0汤圆

发表于 2018-11-23 20:28:55 | 显示全部楼层
怎么说呢,win api gdi绘制的方式,目前不是很有优势了,但部分被DirectX的方式取代了,微软的话wpf是比较不错的,还有一些开源的 比如 duilib,SOUI,还有一些个人开发的库,

出0入0汤圆

发表于 2018-11-23 20:29:14 | 显示全部楼层
还有一个问题,稳定性是很关键的,

出0入0汤圆

发表于 2018-11-23 20:36:00 | 显示全部楼层
支持,强大!

出0入0汤圆

发表于 2018-11-23 20:51:01 来自手机 | 显示全部楼层
厉害了,强大

出0入0汤圆

发表于 2018-11-23 22:05:08 | 显示全部楼层
强帖留名,感谢楼主

出0入0汤圆

发表于 2018-11-23 23:12:44 | 显示全部楼层
给力

出0入0汤圆

发表于 2018-11-24 01:58:58 | 显示全部楼层
LZ你給的上位機源碼不全,我用VC complie發現少了下面這些檔案。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2018-11-24 10:33:12 | 显示全部楼层
jarodzz 发表于 2018-11-24 01:58
LZ你給的上位機源碼不全,我用VC complie發現少了下面這些檔案。

没问题。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-11-24 11:08:08 | 显示全部楼层
我之前是直接點.sln打開後,source list會多很多找不到的檔案,剛剛點.dsw打開 source list 就跟你的一樣了。
謝謝。

出0入0汤圆

发表于 2018-11-24 11:41:10 | 显示全部楼层
楼主这个不错,mark一下,有空研究~

出10入95汤圆

发表于 2018-12-8 22:15:11 来自手机 | 显示全部楼层
大侠厉害了。USB,纯C写上位机

出0入0汤圆

发表于 2018-12-10 09:41:20 来自手机 | 显示全部楼层
纯c实现,不错不错
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 00:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表