Programmbeenden nach Abfrage

Gast #5409723
Lesenswert?

Hallo
mit dem folgenden Teil möchte ich abfragen ob ein IC am Bus hängt. Dazu 
gebe ich erst die Adresse an und Frage ob er sich meldet.
1
ret = i2c_start(IC1);          // Start Lesen 
2
  if (ret == 0)
3
    {                         // Wenn IC1 ein OK sendet...
4
    
5
    MMM_IC1 = i2c_readNak();    //...speichere unteres Bit
6
    }
7
  else                                // Fehlererkennung
8
    {                              // Wenn IC1 kein OK sendet
9
    lcd_command(LCD_CLEAR);      // Leere Display
10
    _delay_ms(2);
11
    lcd_printlc(1,13,"READ");    // "Lesevorgang"
12
    lcd_printlc(2,13,"NOK");    // "Nicht OK (NOK)"
13
    exit();
14
    }
mit exit soll er eigentlich stoppen und das Programm beenden oder die 
Anzeige bringen. Er läuft aber weiter. exit wird nicht beachtet. Wie 
kann ich das machen?

LG Klaus
Gast #5409744
Lesenswert?

spess53:
> Und wohin soll es denn 'exiten'?

eben, was Du machen kannst, falls es um "Energiesparen" geht, den 
Controller in den SLEEP-Modus bringen, beim XMEGA könnte man dir 
PR-Register bemühen ...
also wie spess53 schon fragte - wohin?

mfg
Gast #5409766
Lesenswert?

Es soll sich um eine "Sicherheitabfrage" handeln. Das Programm darf erst 
weiter laufen, wenn der IC vorhanden ist. Ansonsten soll er mit der 
gewählten Anzeige stehen bleiben. Stehen bleiben ist wahrscheinlich der 
falsche Ausdruck. Dachte an eine Schleife die nen IC abfragt und dann 
immer wieder auf "Ende" geht
Arbeite mit C und avr GCC
Beitrag #5409771 wurde von einem Moderator gelöscht.
Gast #5409999
Lesenswert?

Na gut, Spaß beiseite :
Sinnig wäre, eine Fehlermeldung auf das Display, ca. 2 Sekunden den 
Mikrocontroller schlafen legen, um Energie zu sparen und dann von vorne 
probieren, so dass der Benutzer einfach durch Anstöpseln weiter kommt, 
wenn er die Fehlermeldung gelesen und kapiert hat.
Noch ein wenig Hirnschmalz investieren, damit die Fehlermeldung stehen 
bleibt und nicht durch Flackern unleserlich wird, und Alles wird gut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren