V-USB und der ATtiny84

Gast #2772049
Hallo,

ich hab einen ATtiny84 und möchte auf ihm V-USB zum laufen bekommen.

             ATtiny84
             +--\/--+
         VCC |1   14| GND
(PB0)  XTAL1 |2   13| (PA0)
(PB1)  XTAL2 |3   12| (PA1)
(PB3)  RESET |4   11| (PA2)
(PB2)   INT0 |5   10| (PA3)
(PA7)        |6   9 | (PA4)
(PA6)        |7   8 | (PA5)
             +------+

Hier sieht man noch mal den ATtiny84. Das Problem:
V-USB benötigt für D+ oder D- einen Interruptpin. Ok. Der ist da. Dieser 
ist aber auf PORTB und ALLE anderen PORTS an PORTB sind belegt (RESET 
und Quarz).
Und in der usbconfig.h kann man nur einen Port für beide Datenleitungen 
einstellen ("USB_CFG_IOPORTNAME"). Google hilft bei der Frage nach "v 
usb mit attiny84" auch nicht weiter.

Was kann ich machen? Muss ich V-USB komplett umschreiben (hab da mal 
gesucht drin nach "USB_CFG_IOPORTNAME", ist sehr kompliziert des V-USB)?
Oder gibt es eine einfachere Lösung?


Danke
burgerohnealles
Gast #2772057
spess53 schrieb:
> Hi
>
> Jeder Pin des ATTiny84 kann einen Interrupt auslösen.
>
> MfG spess

Ja das find' ich auch immer komisch. Bei jedem steht PCINTx, aber bei 
nur wenigen steht INTx. Aber in der usbconfig.h steht ausdrücklich drin, 
dass man INTx verwenden muss, wenn ich das richtig verstanden habe.


mfg
burgerohnealles
Gast #2772059
holger schrieb:
>>Was kann ich machen?
>
> Eine andere CPU nehmen. Kost doch nix.

Falsch. Kostet was. Ich hätte noch zwei ATmega328P, aber wieso soll ich 
die für so eine "kleine" Sache "verschwenden"?


mfg
burgerohnealles
Gast #2772064
>Falsch. Kostet was. Ich hätte noch zwei ATmega328P, aber wieso soll ich
>die für so eine "kleine" Sache "verschwenden"?

Welche kleine Sache? Für USB würde ich keinen von deinen AVR nehmen.
Gast #2772071
holger schrieb:
> Welche kleine Sache? Für USB würde ich keinen von deinen AVR nehmen.

Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur, 
Maus, siehe auch [1] und [2].

Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem 
ATmega328P empfehlen?



Links:
[1] http://www.elektronik-labor.de/AVR/WildeMaus.html
[2] http://www.elektronik-labor.de/AVR/Rebooter.html


Danke
burgerohnealles
#2772098
Jonathan,

kennst Du schon ?

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

man kann fast alles mit dem v-usb anfangen, der Treiber ist sehr 
flexibel. Du müsstest Dich aber weiter einlesen. PCINT ist eine 
Sammelschiene für max. 8 Interrupt eines Ports:

PCINT0
Pin Change Interrupt Request 0

Eingänge PCINT7 bis PCINT0
jeder Zustandswechsel führt zu einem PCINT0 ISR Aufruf.


PCINT1
Pin Change Interrupt Request 1

Eingänge PCINT11 bis PCINT8
jeder Zustandswechsel führt zu einem PCINT1 ISR Aufruf.

Mehr und viel genauer steht es im Datenblatt.
#2772122
Jonathan K. schrieb:

> Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur,
> Maus, siehe auch [1] und [2].
>
> Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem
> ATmega328P empfehlen?

PIC18F14K50, oder für ganz lowcostige Sachen PIC16F1455. Beide mit 
Fullspeed Hardware-USB Device Interface eingebaut und daher 100% 
standardkonform. Zum Entwickeln ist ein PIC18F25J50 oder PIC18F25K50 
bequemer.

fchk
Gast #2772123
Aus usbconfig.h:
This file is an example configuration (with inline documentation) for 
the USB
driver. It configures V-USB for USB D+ connected to Port D bit 2 (which 
is
also hardware interrupt 0 on many devices) and USB D- to Port D bit 4. 
You may
wire the lines to any other port, as long as D+ is also wired to INT0 
(or any
other hardware interrupt, as long as it is the highest level interrupt, 
see
section at the end of this file).

Wenn man das nicht beachtet, funktioniert das nicht. :(

Also geht es mit dem ATtiny84 nicht?


Uwe S. schrieb:
> kennst Du schon ?

JA!


mfg
burgerohnealles
Gast #2772140
Frank K. schrieb:
> Jonathan K. schrieb:
>
>> Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur,
>> Maus, siehe auch [1] und [2].
>>
>> Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem
>> ATmega328P empfehlen?
>
> PIC18F14K50, oder für ganz lowcostige Sachen PIC16F1455. Beide mit
> Fullspeed Hardware-USB Device Interface eingebaut und daher 100%
> standardkonform. Zum Entwickeln ist ein PIC18F25J50 oder PIC18F25K50
> bequemer.
>
> fchk

Ja. Aber für ein paar "USB-Versuche" und spielereien werde ich doch 
nicht extra Teile kaufen.

EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges" 
machen möchte.


mfg
burgerohnealles
Gast #2772154
Hi

>EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges"
>machen möchte.

Mit dieser Arme-Mann-USB-Krücke? Wenn ich mich recht erinnere ist der 
Controller zu etwa 90% mit dem USB beschäftigt. Was bleibt dann noch für 
sinnvolle Anwendungen?

MfG Spess
#2772190
spess53 schrieb:
> Hi
>
>>EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges"
>>machen möchte.
>
> Mit dieser Arme-Mann-USB-Krücke? Wenn ich mich recht erinnere ist der
> Controller zu etwa 90% mit dem USB beschäftigt. Was bleibt dann noch für
> sinnvolle Anwendungen?

Für HID, CDC und ähnliches reicht ein PIC18 locker aus. Und für größere 
Sachen kannst Du immer noch einen 40 MHz 32 Bit PIC32MX220 nehmen.

fchk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.