刚毕业就失业,真是悲哀。不过在家里也不能闲着,找点事做。
一个玩友让我帮忙做一个玩飞行游戏用的脚跎,电路简单,主要是编程他不行,让我帮忙。反正没什么事,而且自己也是飞行游戏爱好者,所以就答应了。
自学单片机有一段时间了,但第一次搞USB,下载了不少资料,花了四天时间才初见成效——也真够慢的。本着GNU的精神,所自己的经验写出来,希望对各位有帮助。
对于使用AVR软件模拟USB,最早的代码可能是Atmel的AVR Application Notes AVR309-Software Universal Serial Bus (USB)文档,文中介绍了使用软件模拟方式构建的USB to RS232电路。由于AVR单片机本身计算能力和USB规范中对时序的限制,AVR单片机软件模拟USB方式仅支持1.5Mb/s的低速工作模式(Low Speed)。而实际上,软件USB的最大传输速率可能远低于此(大概几百Kb/s)。然而,这对于简单的USB应该已经足够了——至少已经比串口的速度快,而在许多方面上可以省略驱动程序的编写。
AVR309中提供的代码是基于AVR汇编的,使用起来较为困难。Objective Development公司开发了使用C接口的函数库AVR-USB,大大方便了构建软件模拟usb设备的工作。然而,根据Objective Development为AVR-USB的用户提供四种许可证协议(http://www.obdev.at/products/avrusb/license.html):
GNU General Public License Version 2 (GPL):用户可以免费使用avrusb软件,但必须遵循GPL2v协议并将自己设计制作的电路的电路图、固件软件、主机软件都公开。
Hobby License:付费协议(9.90 EUR),但用户可以得到自己独有的VID/PID,而使用此协议,用户只能以非商业形式制造最多5件此协议的设备。
Entry Level License:付费协议(199.00EUR),用户以自己独有的VID/PID,最多生产150件设备
Professional License: 付费协议 (500.00 EUR),用户可以得到两对独有的VID/PID,在100,000件以下时可以任意生产。
在avrusb的官方网站上提供了许多使用avr-usb软件构建的项目。其中,PowerSwitch和HID Keys两个项目被官方网站认为是学习使用AVR-USB的入门项目,特别是PowerSwitch是最简单的。不过,使用PowerSwitch软件,还必须编写PC端的相应驱动才可以使用;而HID Keys使用了PC上(Windows)上通用的HID(Human Interface Device)驱动,所以应该说更容易使用一些。
待续。。。
用户368401 2007-11-30 19:31
用户368401 2007-11-30 19:31
用户1079511 2007-9-21 11:19
好东西,学习了!
用户59449 2007-9-13 07:01
好
用户16856 2007-1-24 09:56
皮法 =>400 => 5 有地 2 大 好 低(不好说,看天线的位置)
单极 =>250 =>3 无地 1 小 好 稍高(不好说,看天线的位置)
天线PATTEN目前种类很多(LOOP, FLASHING,WIDE...... ),什么环境,用什么PATTEN,PIFA和MONOPOLE只是最基本入门的PATTEN,不过大多走线都是从这基本的走线PIFA和MONOPOLE转化而来的.
折叠机 滑盖机 旋盖机 直板机 超薄折叠机 超薄直板机
皮法 适用 适用 适用 适用 不适用 不适用
单极 适用 适用 不适用 适用 适用定制 适用
用户1099295 2006-12-18 09:49
用户13450 2006-11-4 15:38
好文章!继续支持Maxconn!
用户36516 2006-11-3 09:57
学习中...