Dake erstmal für eure Tipps.
Also der Code ist komplett. Ich habe bloß eine main.c und eine Usart.c. Ich finde das auch komisch weil auf einem Steckbrett vor ein paar Wochen hat das ganze noch einwandfrei funktioniert. Ich verwende zum Programmieren Programmers Notepad. Ich habe jetzt nocheinmal ein anderes Testprogramm geschrieben. Komplett ohne Uart. Das Programm mach jetzt nurnoch einen Pieps mit dem Piepser auf dem Board. Dannach geht es ine eine Endlosschleife. Aber auch hier habe ich das Problem das sobald ich sei() und TIMSK |= (1<<TOIE0); zusammen aktivier das sich das Board resetet, sprich ich bekomm ein dauerpiepsen.
Ich habe jetzt auch shcon mehrere Controller und mehrere Oszilatoren und Quarze versucht. Aber es kann doch eigentlich kein Hardwarespezifisches Problem sein, oder?
Hier der neue Code:
Code:
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/interrupt.h>
int main( void )
{
DDRA = 0xFF;
DDRB = 0xFF;
DDRC = 0xFF;
DDRD = 0xFF;
PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
for(uint16_t i=0; i<270*15; i=i+(2*6))
{
PORTD |= (1<<7);
_delay_ms(6);
PORTD &= ~(1<<7);
_delay_ms(6);
}
TIMSK |= (1<<TOIE0);
TCCR0 |= (1 << CS00 ) | (1 << CS02) ;
TCCR0 &= ~(1 <<CS01 );
sei();
while(1)
{
}
return 0;
}
WWas genau an der _delay_ms(1000); nich funktionieren soll versteh ich auch nicht.
Gruß
elayne
Lesezeichen