passing parameters

The following code does not pass parameters to loop in getpulseStep. All it does is print the number 5 and "pulseStep".

int rS;
int pD;
int k;
#define motorStep 11
#define runStop 6
#define pedalDown 5
void setup(){
Serial.begin (9600);
pinMode (motorStep, OUTPUT);
pinMode (runStop, INPUT);
pinMode (pedalDown, INPUT);
}
void loop(){
rS = digitalRead (runStop);
pD = digitalRead (pedalDown);

while (rS == LOW){
rS = digitalRead (runStop);
pD = digitalRead (pedalDown);
while (pD == HIGH){
pD = digitalRead (pedalDown);
Serial.println (pD);
return;
}
int i = 5;
k=getpulseStep(i);
Serial.println (k);
}
}
int getpulseStep(int c){
Serial.println ("pulseStep");
for (int C=c ; C > 0; C--){
Serial.println (C);
return (C) ;
}
}

for (int C=c ; C > 0; C--){
     Serial.println (C);
     return (C) ; 
   }

It does pass parameters.

But you just throw them away.

This loop is fundamentally flawed:

  1. Loop for c to 0 times:
    1.1 Print C
    1.2 return C
  2. Never gets here - it just returned.

The intent is to pass the parameter 5 to getpulseStep and have the for l.oop execute it 5 times. The program runs on the Arduino simulator but not on the actualcard. Any suggestions as how implement it correctly?

int i = 5;
k=getpulseStep(i);
Serial.println (k);
}
}
int getpulseStep(int c){
Serial.println ("pulseStep");
for (int C=c ; C > 0; C--){
Serial.println (C);
return (C) ;
}
}

You can implement it correctly by not aborting your for loop partway through the first iteration with that return(C) line.

Thanks, that fixed the problem but how do I return the value of "C" if it is outside the for loop?

but how do I return the value of "C" if it is outside the for loop?

But if you return it, you have to exit the loop.
What do you want to do?

n46130:
The program runs on the Arduino simulator but not on the actualcard.

Oh? Strange.

Why do you even want to return C? It will always be 0.