Hallo zusammen, ich habe ein Atmega8A aus dem AVR Starterkit (http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108). Wie in der Anleitung beschrieben habe ich ein Beispiel einmal unter Linux mit dem gegebenen Makefile auf den Chip gebracht und einmal unter Windows mit dem Atmel Studio 6.0 (6.1 geht wegen eines Bugs nicht: Beitrag "AtmelStudio6 Prgrammier-Bug mit AVR-ISP mkII"). Das Atmel Studio invertiert leider die Ausgabe-Logik: 1 ist Masse, 0 ist Vcc. Beide arbeiten ja mit avr-gcc und avrdude. Ich bin daher mal die Parameter durchgegangen, habe aber nichts gefunden. Hat jemand eine Erklärung dafür? Wo muss ich ansetzten um ein einheitliches Verhalten zu bekommen?
Poste bitte den Code und eine kurze Beschreibung was er machen soll und was er tatsächlich macht. Das Problem liegt sicher nicht am Atmel Studio.
mrg schrieb: > Das Atmel Studio invertiert leider die Ausgabe-Logik: 1 ist Masse, 0 ist > Vcc. Glaub' ich nicht.
mrg schrieb: > Das Atmel Studio invertiert leider die Ausgabe-Logik: Das ist quatsch. Auf dem STK500 sind die LEDs gegen VCC und die Tasten gegen GND verdrahtet. Somit ist 0 = LED an bzw. 0 = Taste gedrückt. Die Schaltung Deines Boards kann das AS natürlich nicht kennen (will es auch nicht).
Peter Dannegger schrieb: > Auf dem STK500 sind die LEDs gegen VCC und die Tasten gegen GND > verdrahtet. Wobei das eine durchaus übliche Verdrahtungsvariante ist. Tasten gegen GND erlaubt es, mit den internen Pullups zu arbeiten. LED gegen GND schalten war historisch bedingt deshalb gängig, weil die n-Kanal-Transistoren im Ausgang eine größere Stromergiebigkeit hatten als die p-Kanal-Transistoren.
Hallo zusammen, ich habe den Quelltext aus dem Button-Beispiel des Boards benutzt. Zu finden unter http://embeddedprojects.googlecode.com/files/700098_AVRStarterkit.zip Da das Atmel Studio 6.0 beim öffnen des Projekts abstürzt, habe ich dort ein neues Projekt angelegt und nur den Quelltext übernommen. Die avr-gcc und avrdude Einstellungen weichen so wie ich das gesehen habe nicht wesentlich ab (das Makefile für Linux ist ja bereits im Projekt, die Kommandozeilenaufrufe aus Atmel Studio kann ich ggf. nachreichen). Um das nochmal klar zu stellen: Wenn ich den verlinkten Code (700098_AVRStarterkit.zip\Quelltexte\button\button\button.c) unter Linux über das gegebene Makefile auf den Chip bringe ist die LED auf dem Starter-Board aus und geht an wenn ich den Taster betätige. Wenn ich den Code mit dem Atmel Studio auf den Chip bringe ist die LED an und geht beim betätigen des Tasters aus.
Bist Du sicher dass Du hüben ∗und∗ drüben [nicht] neu compiliert hast? Das im Archiv befindliche Listing-File passt offenkundig ∗nicht∗ zum mitgelieferten Quellcode, die Vermutung liegt also nahe, dass das Hex-File auch nicht zum Quellcode passt (sonder vermutlich eher zum Listing). Das wäre eine sehr gute Erklärung für das von Dir beobachtete Verhalten.
mrg schrieb: > ich habe den Quelltext aus dem Button-Beispiel des Boards benutzt. Und nun suchen wir alle danach oder wie? Poste einfach den wirklich verwendeten Quellcode als Anhang. Also genau den, den Du auf Deiner Festplatte liegen hast!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.