PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit C



Richi 007
02.03.2008, 14: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, 14: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

McJenso
02.03.2008, 14:54
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, 15: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.

izaseba
02.03.2008, 15:37
Bsp.: LED am STK anschalten

Falsch, mit Deinem Programm schaltest Du die LED aus...

McJenso
02.03.2008, 17:22
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, 17:42
zum Assembler-Programm: JA, ich hab alle LEDs zum Blinken gebracht
Und danke für den Hinweis ausschalten: Jetzt gehts!