I have got confused about where the sketch will return after calling a statement.
I have looked at the IfStatement section of the tutorial ( which incidentaly shows an LED connected to a pin with no resistor ! a 220 ohm res is mentioned in the parts list, but not on the Fritzing or the schematic )
I have made a sort of flowchart for a sketch I must write, simplified, I have if ( vtSense == HIGH ) { update () ;}
some parts of the update statement refer a variable " timing " which is HIGH or LOW.
At the end of update () the sketch must continue to another statement called "checkclock ()"
If vtSense is LOW however , from the if function, I want it to set timing = LOW , and then carry on to the checkclock() statement.
I always assumed the "if" function would return to where it was called, which in this case would then set the timing LOW, which I dont want.
If I use an "else " for setting the timing LOW, would it skip this ?, it seems to be from this part of the tutorial which is talking about multiple tests
else can proceed another if test, so that multiple, mutually exclusive tests can be run at the same time.
Each test will proceed to the next one until a true test is encountered. When a true test is found, its associated block of code is run, and the program then skips to the line following the entire if/else construction.
I know 999 , I thought I would go out on a bang with a confused posting!
I have been up since 3am trying to get the rough idea of this sketch together, and I get my functions and statements mixed up at the best of times
I havnt actually written anything yet, apart from some of the subroutines er I mean functions
Basically does an if statement return to the part of the sketch immediately after the statement ( in other words to the first line that would have been if the statement was false ) ?
and if I use "else" ( and the statement is true ) would it rather return to the first line after what it would have run had the statement been false ?
If this doesnt make sense I will write a bit of sample code to try / post.
So now I start to write a test using blink in the background to make sure its running :-
// int timing = LOW;
//int vtState = LOW;
int number ;
void setup() {
number = 2;
pinMode(13, OUTPUT);
Serial.begin(9600);
Serial.print(' number = '); Serial.println(number);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
Serial.print(' number = '); Serial.println(number);
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
and when I run even this, the serial out on the monitor ( at 9600 ) just shows 82242 every second, with no text , even in setup.
The LED is blinking OK so the chip is OK.
Edison looks like its going to be interesting ............