2011年9月15日 星期四

V-USB custom-class

custom-class 是 V-USB 所附的一個 custom class device 範例,它示範如何直接使用 default control pipe 傳送與接收小量的資料。

下載

custom-class 包在 V-USB 套件裏:

http://www.obdev.at/products/vusb/download.html

韌體調整

● usbconfig.h:


定義所用的 D+ 和 D- data lines 腳位。必須根據你的硬體調整 USB_CFG_IOPORTNAME, USB_CFG_DMINUS_BIT 和 USB_CFG_DPLUS_BIT。

● Makefile:


定義所用的 MCU 跟時脈頻率,必須根據你的硬體調整 DEVICE 和 F_CPU。

  • main.c

定義所用的 LED 接腳,必須根據你的硬體調整 LED_PORT_DDR, LED_PORT_OUTPUT 和 LED_BIT。

編譯韌體

下指令編譯韌體,你會需要 WinAVR:

cd custom-class/firmware 
make hex

接著把韌體燒錄到板子上,讓裝置重新上電,安裝 libusb driver,然後「裝置管理員」視窗裏就會出現剛剛安裝的裝置:

image

編譯 PC 端指令列工具 (commandline)

下指令編譯 PC 端指令列工具,你會需要 MingGW, MSYS 和 libusb-win32 函式庫:

cd custom-class/commandline 
make -f Makefile.windows

這會產生 set-led.exe。

註:libusb-win32 函式庫的安裝方法為,把 include\usb.h 複製到 C:\MingW\include\,而把 lib\gcc\libusb.a 複製到 C:\MingW\lib。

使用 custom-class

custom-class 範例的使用方法為:

打開 LED:

set-led on

關閉 LED:

set-led off

查詢 LED 狀態

set-led status

假如 LED 是開的,set-led status 會顯示 "LED is on",否則的話會顯示 "LED is off"。

延伸閱讀

0 意見: