Forum: Mikrocontroller und Digitale Elektronik Zweite Hürde: ATMega8 & STK500 & C


von kein_Programmierer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,

ich komme wieder direkt zu meinem Problem und hoffe, dass ihr mir wieder 
helfen mögt.

Ich habe ein kleines Lauflicht programmiert, welches mit 3 Tastern 
"gesteuert" wird.
Pause, Start, Aus

Das Pausieren und anschließende Starten funktioniert wunderbar, wenn ich 
allerdings aus dem "Aus" heraus starten möchte, läuft das Lauflicht 
nicht wirklich rund.

"Start" definiert eine Startbedingung, wenn zuvor "Aus" war, diese wird 
nicht eingehalten. Manchmal funktioniert es, allerdings nur extrem 
selten. Meißtens leuchten einfach alle LED's. Ein Prellen der Taste 
sollte in dem Programm eigentlich kein Problem darstellen.
Ich habe mal das Main-File angehängt und hoffe, dass ihr meinen Fehler 
finden könnt.

Vielen Dank schonmal für eure Zeit, euren Einsatz weiß ich wirklich sehr 
zu schätzen!

von kein_Programmierer (Gast)


Lesenswert?

Ps.: Ich weiß, dass es kein schöner Programmierstil ist. Ich stecke hier 
gerade noch in den Kinderschuhen und bin daher für jeden 
Verbesserungsvorschlag offen. Allerdings sollten die Vorschläge noch 
"Anfängertauglich" sein ;)

von Jim M. (turboj)


Lesenswert?

Beim start nach stopp wird die variable "start" nicht neu belegt. Was 
das für Konsequenzen hat, überlasse ich dem OP als Hausaufgabe.

von kein_Programmierer (Gast)


Lesenswert?

facepalm Ich dachte, ich hätte alle "Startbedingungen" 
wiederhergestellt. Dem war wohl nicht so. Allerdings hat das mein 
Problem noch nicht gelöst. ich habe jetzt:
1
if(!(PIND & (1<<PD0)))    
2
  {
3
  if(waraus==true)
4
    {  
5
      PORTB = 0x01;  
6
      waraus=false;  
7
      start=true;  
8
    }
9
  los=true;
10
  }

hier die Startbedingung mit eingefügt, das Problem bleibt bestehen :/

von kein_Programmierer (Gast)


Lesenswert?

bzw.: ein mal läuft das Lauflicht nach links durch, dann nicht mehr...

von kein_Programmierer (Gast)


Lesenswert?

Ok, hab meine Hausaufgaben gemacht, jetzt funktioniert es.
Vielen Dank für den Tip!

Es gab natürlich noch ein paar andere Startbedingungen, die 
zurückgesetzt werden mussten...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.