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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.