Forum: Mikrocontroller und Digitale Elektronik AtMega32U2 und USB


von Martin K. (dschadu)


Lesenswert?

Hallo zusammen,

ich versuche schon seit geraumer Zeit einen Mega32U2 dazu zu bringen, 
mit meinem PC zu "sprechen". Ich red hier nicht vom Bootloader o.ä, (ich 
Programmier über ISP), sondern von einem HID.

Ich hab mir dazu von Atmel die Beispiel HID Libary gesaugt. Die Lib ist 
natürlich auf den 32U4 ausgelegt, der halt direkt doppelt so teuer ist. 
Ich dachte mir erst, es sei kein Problem, den Code umzuschreiben aber 
scheinbar ist es das doch.
Ich hab hier und da etwas geändert, was der Compiler angemeckert hat, 
was genau, kann ich leider nichtmehr sagen. Habs aber nach bestem Wissen 
und Gewissen nach vergleich der Datenblätter und herrausfinden was was 
tut gemacht.
Daher meine Frage: Hat jemand den 32U2 schon zum laufen gebracht über 
USB an den PC und würde den Code zu verfügung stellen? Oder hat jemand 
einen heißen Tipp? Bei Interesse lad ich den Code mal hoch, ist aber 
alles sehr Komplex und viel.

Ich hoffe dass trotz der schwammigen angaben jemand Rat hat.
Danke schonmal!

Edit:
Ok, ich glaube ich bin dem Fehler auf der Spur:
Hab jetzt
1
#define PLLx01          ( PLLCSR &= (0<<PINDIV) )
2
#define PLLx02          ( PLLCSR &= (1<<PINDIV) )
[...]
1
#if   (FOSC==8000)
2
   #define Pll_start_auto()   Start_pll(PLLx01)
3
#elif (FOSC==16000)
4
   #define Pll_start_auto()   Start_pll(PLLx02)
5
#else
6
   #error   "FOSC should be defined with 8000KHz or 16000KHz in config.h"
7
#endif
geschrieben, bzw die Zeile #define PLLx01 ( PLLCSR &= (0<<PINDIV) ).
Jetzt meckert der Compiler aber rum, das es PINDIV nicht gibt. Laut 
Datenblatt ist das aber das zweite Bit im PLLCSR Register. Find auch 
keine Header-Datei wo die drinstehen würde. Ideen?
von Martin K. (dschadu)


Lesenswert?

Ok, ich Push das mal:
Hab immernoch das selbe problem, der Compiler sagt mir:
Error  1  'PINDIV' undeclared (first use in this function) [...]
Aber laut Datenblatt ist es das richtige Register. Welche .h Datei muss 
ich einbinden? Bin bisher nicht fündig geworden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.