Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit C
Richi 007
02.03.2008, 15:14
Ich habe einen Atmega8515L, ein STK500 und benutze AVR Studio 4
Meine Programme in Assembler laufen, aber wenn ich sie in C schreibe funktioniert nichts.
Bsp.: LED am STK anschalten
#include <avr/io.h>
#include <avr/interrupt.h>
int main(void)
{
DDRB = (1<<PB0);
while(1)
{
PORTB = (1<<PB0);
}
return 0;
}
radbruch
02.03.2008, 15:26
Hallo
Mein Kompiler erzeugt auch ein Assemblerlisting des erzeugten Codes (.lst, muss man glaube ich im make-file aktivieren). Schau doch mal, was da drin steht. (Tipp: Mit einem Kommentar vor while(1) kann man die betreffende Stelle leichter finden)
Gruß
mic
Hallo,
das Programm ist soweit okay. Wie ist die LED mit dem Pin verschaltet? Hat es eine Fehlermeldung, Warnung oder andere Unregelmäßigkeit beim Aufspielen des Programmes gegeben? Kannst du mit einem Messgerät den Pin des Controllers nachmessen? Wie sieht die Spannung am Pin bei Reset, bei deinem Programm und bei geänderter Zeile PORTB = (1<<PB0); in PORTB = 0x00; aus?
Gruß
Jens
Richi 007
02.03.2008, 16:09
Also die LED is so wie im Attachment geschaltet.
Es gab keine Fehlermeldungen und bei RESET liegt nichts an.
und auch sonst imme keine spannung.
Bsp.: LED am STK anschalten
Falsch, mit Deinem Programm schaltest Du die LED aus...
Hallo,
okay das ist merkwürdig. Am Pin selber sollte schon 5V sein, egal wie LED nun geschaltet wird. Die Versorgung muss ja auch da sein, sonst hättest du ihn nicht beschreiben können. Benutzt du neinen externen Quarz? Wenn ja, der L kann nur bis 8Mhz. Kannst du die Fusebits auslesen? Ist event. der Watchdog über die Fuses eingestellt?
Hm, und wenn du über ein Assemblerprogramm die LED schaltest geht es?
Gruß
Jens
Richi 007
02.03.2008, 18:42
zum Assembler-Programm: JA, ich hab alle LEDs zum Blinken gebracht
Und danke für den Hinweis ausschalten: Jetzt gehts!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.