Der myAVR zieht ja auch Strom. Und nein, müssen sie nicht. Die Ports können einem USB-Device jederzeit untersagen, nennenswerten Strom (jenseits von etwas Standby) zu ziehen.
Und ich bin mir absolut Sicher, dass der Fehler irgendwo zwischen Dir, deiner IDE und deinem Programmer zu finden ist. Irgendwas machst du falsch, Compiler bauen nicht einmal richtig und dann wieder falsch bei gleichem Input.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
Tun sie auch nicht, aber was er tut ist gleiches ergebnis bei anderem Input.
Schau mal weiter unten auf der letzten seite, dort habe ich mein Programm bei zwei völlig verschiedenen F_CPU werten erstellt, aber das asm file ist das selbe.
bzg USB:
http://de.wikipedia.org/wiki/Univers...ungsversorgung
Sie ist stabilisiert, liegt bei 5 V ±5 % und liefert einen Strom von mindestens 100 mA.
Es sind beide AGND-GND->MyAVR GND
AVCC->VCC-> MyavrVCC
PB0->LED rot->GND
PB1->LED grün->GND
Reset->R4,7k->VCC
immer?
Mit AVCC - dann muß aber auch AREF mit GND und 100nF Kondensator verschaltet werden.
Also ich habe sie nicht verschaltet, weil ich sie nicht benötige zum messen.
Wenn ich das richtig verstanden habe, darf/kann man diese Pins ausschliesslig dafür benutzen.
Und naja, es läuft ja ... die Hex (für 1Mhz compiliert) von Hubert und mein Bascom Programm...in 1MHz und in 8Mhz![]()
Mir ist nicht klar wie es ein Compilerproblem sein kann wenn meine *.hex nur bei dir nicht läuft.
Hast du in den Fuses BODEN auf 4V gestellt?
Also ich mach es so schon seit geschätzten 4 Jahren und es hat bisher bei allen meinen Projekten einwandfrei funktionierd.
BODEN und BODLEVEL sind beide unprogrammiert.
Außer wenn der Host dich in USB-Standby schickt, dann darfst du nur noch 500µA ziehen.
Zu deinem F_CPU: Ich habe den Überblick verloren. Mal hat es getan was du erwartet hast, dann wieder nicht. Wenn du F_CPU verändern kannst ohne dass das Hexfile sich ändert, dann ist die Information über das geänderte F_CPU nicht beim Compiler angekommen. Der Fehler ist nicht im Compiler sondern auf dem Weg zum Compiler zu suchen. Die IDE ist ein ganz heißer Favorit.
Immer! AVCC ist die Spannungsversorgung für den ADC sowie die Pins die als Eingang für den ADC verwendet werden können. Intern zwar mit VCC verbunden, legt das Datenblatt einem auch bei Nichtbenutzung des ADC nahe, den Pin an VCC anzuschließen. Er ist nur deshalb getrennt ausgeführt, um den Analogteil besser entstören zu können.
AREF hat mit AVCC erst Mal nichts zu tun und muss nicht beschaltet werden. Bei vielen AVRs macht es Sinn, 100nF gegen GND anzuschließen, weil man bei diesen die interne Referenzspannung an den Pin anlegen, und somit stabilisieren, kann. Bei manchen kleineren AVRs gibt es diese Funktion nicht, dann kann man sich die 100nF sparen.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
@markusj Bei neueren Mega8 ist AVCC nicht mehr mit VCC verbunden, das war ein Layoutfehler der mittlerweile behoben ist.
Tiny ASURO Library: Thread und sf.net Seite
Also ich kann jetzt einen Hardware Fehler definitiv und einfüralle mal ausschliesen.
Ich habe mal mein Windows vorgekramt und das gleiche Programm in AVRStudio 5 erstellt, da geht es perfekt.
Nur unter Linux macht es zicken.
Ich kann mir aber nicht erklären warum es nicht am Compiler an kommen sollte, ich hab mitlerweile F_CPU direkt in der main.c definiert, vor allen includes natürlich.
Keine veränderung.
Ich kann mir das echt nicht mehr erklären.
Lesezeichen