Hallo! Ich glaube gerade ein Brett vor dem Kopf zu haben. EIgentlich wollte ich ein LCD-Display ansteuern und habe mich da strickt an das AVR-GCC-Tutorial gehalten. Nachdem ich nach mehreren (gefühlt tausenden) Versuchen immer noch nichts angezeigt bekam habe ich angefangen zu zweifeln und wollte erstmal gucken ob das mit dem Programmieren alles klappt und wollte einfach nur ne LED an machen. Jetzt habe ich das sowohl in ASM (da ich da "mehr" Erfahrung habe) als auch in C gemacht. Bei beidem aber das gleiche Phänomen: Die LED flackert. Also sie geht an/aus/an/aus etc etc. Irgendwie fühlt sich das an, als würde der Atmega ständig "rebooten". Ich weiß leider auch nicht mehr ob ich genau den Baustein mal für ein Projekt mit Bootloader (das ich nur nachgebaut und so gar nicht verstanden habe (Fnordlicht)) missbraucht habe und das eventuell irgendwas damit zu tun haben könnte? Habe das ganze Konzept Bootloader noch nicht so ganz verstanden... Ich programiere den AVR über AVR Studio mit dem AVR-ISP-USB Projekt von Christian Ullrich. Die Fuses habe ich auch schon auf "auslieferungsstandard" gestellt. Und ich habe auch "Erase Flash" und "Erase Device" in dem AVRStudio Dialog benutzt - löscht das auch eventuelle Bootloader im AVR? Ich hänge mal den C/ASM Code ran... aber der sollte eigentlich richtig sein:
1 | #include <avr/io.h> |
2 | |
3 | int main (void) { |
4 | |
5 | DDRC = 0xff; |
6 | PORTC = 0x00; |
7 | |
8 | while(1){ |
9 | }
|
10 | |
11 | }
|
1 | .include "m8def.inc" |
2 | ldi r16, 0xFF |
3 | out DDRC, r16 |
4 | ldi r16, 0x00 |
5 | out PORTC, r16 |
6 | |
7 | loop: rjmp loop |
Bin dankbar für jeden Tipp, Gruß Sebastian