Gast
#2006804
Hallo, hier meldet sich mal wieder ein Newbie mit Anfängerproblemen. Ich versuche einen ATmega32L dazu zu bringen, irgendetwas zu tun. Ich sag mal was funktioniert. (Ich nutze AVR Studio 4 unter Windows) a) ich kann via ISP seine Signature auslesen, wobei ich im AVR Studio in der device Liste nur den "ATmega32" und nicht den "ATmega32L" finden kann. Dennoch meckert AVR Studio nicht, die Signature scheint also zu passen. b) Ich kann die Fuses programmieren. Ich habe einen 8MHz Quarzt dran und ich sehe schön, dass der Quarz anschwingt, wenn ich die SUT_CKSEL entsprechend programmieren. Ich sehe auch, dass der Quarz wieder aufhört zu schwingen, wenn ich diese Fuse wieder auf "internal R/C oszi" zurückstelle. Da hört es auch schon auf. Wenn ich so ein simples Programm wie: ----------- #include <avr/io.h> int main (void) { DDRB |= 1<<PB4 | 1<<PB3 | 1<<PB2; PORTB |= 1<<PB4 | 1<<PB3 | 1<<PB2; DDRC = 0x7f; PORTC = 0x7f; while (1) { } return 0; } in den ATmega flashe, gehen diese Pins nicht auf HIGH. Manche scheinen HIGH zu sein, manche HIGH-Z. Dummerweise ist die ganze Peripherie auf dem board schon bestückt. Allerdings sind diese Pins wirklich als Ausgänge vorgesehen, sie sind mit Muxer Eingängen (ADG704 u. ähnliche) verbunden, es sollte also kein Problem sein sie zu schalten. Ich bin natürlich schonmal die AVR Checkliste durchgegangen. Kann es sein, dass ich ausser den PORT-registern noch irgendetwas anderes konfigurieren muss, bevor ich was an diesen PORTs sehen kann? Oder macht der ATmega32L vielleicht Probleme, weil ich ihn nicht in der device-liste des AVR-Studio finden kann? fällt irgendwem noch ein schöner Test ein, wie ich verifizieren kann, dass das Programm, was ich glaube reingeflasht zu haben, auch wirklich drin ist? besten Dank Dominik