Gast
#367406
Hi,
ich hab mir mir einem Atmega8 und einen Max7221 ein Lauflicht gebaut.
Nun folgendes es wenn bei PIN D 2 und 3 eine Spannung anliegt läuft das
Unterprogramm mit dem Lauflicht los. Sonsten nichts. Jetzt ist aber das
komische wenn ich nach längerer zeit Spannung anlege an einen von
diesen Pins passiert nichts mehr. Wenn ich aber längere Zeit das
Lauflicht laufen lasse in dem ich Spannung an ein pin hänge hängt es
sich nicht auf daher meine Vermutung, dass es in der schleife (MAIN)
seinen muss. nun habe ich das problem das ich kein notebook habe und
das ganze schon fest montiert ist.daher meine frage was kann es sein
gibt es schon bekannte dinge die es sein könnten.
Wie schon gesagt es kann die Schleife in der Main sein oder das die
Ports verloren gehen Funktion "init_Ports();" sonsten die Variable
"var_interrupt" das dort was net geht. Ist es möglich das sich der
Atmega aufhängt wenn er zu lange die schleife durchläuft?
init_Ports()
{
DDRD |= (0<<PD2);
DDRD |= (0<<PD3);
DDRD |= (0<<PD4);
}
int main()
{
init_Ports();
while(1){
if (PIND & (1<<PIND2)) {
var_interrupt = "zv";
}else if(PIND & (1<<PIND3)){
var_interrupt = "schalter";
}else{
var_interrupt = "";
//spi_senden(0x0c,0x00);
}
if (var_interrupt != ""){
max7220_start();
leds_loeschen();
lauflicht();
leds_loeschen();
}
}
}