经过了几个月学习ARM和USB,终于用S3C44b0做成了USB控制台,使用的USB设备类是HID类,程序实现了PC上位机控制开发板的功能,功能如下: 1、可通过PC界面上的按钮控制板子上的LED; 2、任何时刻在PC上输入字符,实时显示在板子的LCD上; 3、控制LCD显示图片; 4、读取板子硬件信息,包括MCU型号,SDRAM,Flash,USB芯片和音频芯片型号; 5、实时监控板上AD转换结果(300ms采样一次); 6、实时显示4个按键是否按下; 7、控制板子播放音乐。 采用的方法是自定义USB HID设备,USB芯片采用的是通用的USBD12,控制主要是通过主机发命令的形式来完成的。 虽说看来比较简单,但我实现起来还是有一定难度的。上位机程序我使用的是VC6.0,要访问USB设备还要装DDK库,因为是HID设备,所以就不要写驱动了。下位机部分我用的是ADS1.2编译的,使用的开发板是淘宝网上买的恒丰瑞科的S3C44B0开发板。 这个控制台是基于USB控制的,想学USB的话,推荐大家去买<圈圈教你玩USB>这本书,控制台有一半都是基于这本书的,真的非常好,不说USB,就拿一个按键扫描程序来说,做单片机的都知道吧,圈圈处理的很好,我开始使用的是外部中断的方式,但编了很久,怎么样都达不到常按键连续起作用的效果,同时又有按键变化的效果,呵呵,我是菜鸟,发现自己这些基础的都不做不好,哎。。。 下位机主要的部分是USB的枚举和请求,功能部分由于我之前都写好了,添加进去就行了。 希望各位提些建议,呵呵!!! 相关链接:https://bbs.21ic.com/upfiles/img/20097/2009730104452172.rar |