Stop - before Loop?

is it possible to stop the loop from runnning.

Im using an ethernet shield, and if it fails to obtain a local LAN Ip, I want to stop the loop from running.. can I do this?

so In void setup I have this line..

if (Ethernet.begin(mac) == 0) {

   { Serial.println("Failed to configure Ethernet using DHCP");
    lcd.setCursor(0,0);
lcd.print("LAN FAILURE !");
delay(1000);}
/// I want this to stop the loop from running from here . HOW?

do I create a else comment in loop and do nothing if (Ethernet.begin(mac) == 0)

any help would be appreciated...

David

Wouldn't it be more stylish to loop retrying the DHCP connection than simply to stop?

Anyway, you can just write a forever loop: "while (1) {;}" to stop execution.

-br

billroy:
Wouldn't it be more stylish to loop retrying the DHCP connection than simply to stop?

Anyway, you can just write a forever loop: "while (1) {;}" to stop execution.

-br

Yes it would, but as it is even if my LAN is down, the loop begins..

You could check the LAN in setup().

Either way, while (1); ( save yer fingers, you don't need the { } ) will hang the code instantly. It's budget error-handling.

You can always set a flag if initialization fails and test that in loop... Perhaps you want something else to happen in that case

GoForSmoke:
You could check the LAN in setup().

Either way, while (1); ( save yer fingers, you don't need the { } ) will hang the code instantly. It's budget error-handling.

That was easy.. many thanks !-)

mrfunk:

if (Ethernet.begin(mac) == 0) {

{ Serial.println("Failed to configure Ethernet using DHCP");
   lcd.setCursor(0,0);
lcd.print("LAN FAILURE !");
delay(1000);}
/// I want this to stop the loop from running from here . HOW?

Use exit();

And indent better.

  if (Ethernet.begin (mac) == 0) 
    {
    Serial.println ("Failed to configure Ethernet using DHCP");
    lcd.setCursor (0,0);
    lcd.print ("LAN FAILURE !");
    delay (1000);
    exit (1);     // give up
    }

Don't be shy to hit the space bar. You don't get charged extra for spaces.

Oh yeah.. exit(). I haven't used it with Arduino because for years it means exit to O/S to me!

Please for review, does exit stop any clocks and cut power use?

GoForSmoke:
Oh yeah.. exit(). I haven't used it with Arduino because for years it means exit to O/S to me!

Please for review, does exit stop any clocks and cut power use?

I have to resist making humorous suggestions here ...

No, it turns interrupts off and goes into an infinite loop. That's all.