AVR-USB (jetzt V-USB)

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



Beispiele:



Anpassungen der Beispiele an Knerboard

die Beispiele können von http://www.obdev.at/downloads/vusb/vusb-20090822.zip heruntergeladen werden. Jedes Beispiel hat ein Readme mit entsprechenden Anweisungen. Mit kleinen Anpassungen rennen die Beispiele auf Knerboard



1. Anpassung Makefile

Atmega8 @ 16MHz; externer Quarz und Programmierung von Knerboard über das STK500 an USB-Schnittstelle (Ubuntu 9.10)

DEVICE  = atmega8
F_CPU   = 16000000	# in Hz
FUSE_L  = 0x9f # see below for fuse values for particular devices
FUSE_H  = 0xc9
AVRDUDE = avrdude -c stk500  -P /dev/ttyUSB0 -p $(DEVICE) # edit this line for your programmer

2.Anpassung usbconfig.h

keine Anpassung nötig

Anpassung avrusb an Knerboard (alte Version)



  1. 16MHz Quarz in der clock.h Änderung auf 16000000

  2. in Clock.h die Zeit für 320us neu rechnen; der Timer muß jetzt nicht mit K=60 sondern mit dem Wert K=80 geladen werden
    K = 320/64*16 320 … Zeit in us, 64 … Prescaler, 16 … Oszillator

  3. Kurzschluss auf PD4: dieser Kurzschluss muss verhindert werden; im avrusp wird PORTD auf Output geschaltet; wozu?
    habe in main.c die Zeile 225 geändert: kompletter Port als Input

    eine andere Lösung ist, die USB-Konfiguration von B auf D Port zu ändern (usbconfig.h)

  4. Änderung
    #define USB_CFG_CLOCK_KHZ (16000)
    sonst wird diese Konstante falsch erkannt