Spørgsmål:
Problemer, der migrerer fra ATmega88 til ATmega88P, med V-USB / AVR-USB?
todbot
2009-11-26 15:22:20 UTC
view on stackexchange narkive permalink

Jeg arbejder på et V-USB (aka AVR-USB) -baseret kredsløb, der kører ved 5V (dvs. to 3,6V Zenere på tværs af D + & D-) og ved 12MHz. Jeg prøvede en ATmega88P i stedet for de ATmega88 chips, jeg normalt bruger, og jeg kan ikke få kredsløbet til at tælle. Atmel-appnoteserne om mega88-> mega88P-migration beskriver ingen indlysende gotchas.

Er der nogen, der har erfaring / tip med forskellene i ATmega88P-chips?

Det lærer mig ikke at læse spørgsmålet ordentligt. Slettet mit svar, da det blot henviste til det samme ark, der blev nævnt af todbot som: "Atmel appnotes om mega88-> mega88P-migration".
En svar:
todbot
2009-12-12 03:39:19 UTC
view on stackexchange narkive permalink

Problemet er, at AVR-GCC-biblioteksfilen "iom88p.h" til ATmega88P (og lignende filer til ATmega168P og ATmega328P) er brudt. Det definerer ikke SIG_INTERRUPT0 interuptvektorhandleren og definerer kun det alternative handlernavn INT0_vect. V-USB-samlingskoden bruger SIG_INTERRUPT0 og af en eller anden grund afhenter avr-as ikke null-definitionen.

Dette biblioteksproblem er også grunden til, at du ikke længere kan bruge definitioner som "PC3" i Arduino og i stedet skal bruge "PORTC3".

Løsningen i tilfælde af V-USB er for at gå ind i "usbconfig.h" til dit projekt og tilføje:

 #define USB_INTR_VECTOR INT0_vect 


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...