Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
5 years, 5 months ago.
My pc.readable() code is not working properly?
I am working with accelerometer and in that code, I want to update the code by asking from the user about input. I made one function to implement the code but that function is not running properly. this is my code. void value_ADXL() { if(pc.readable()) { pc.printf("enter input"); t = pc.getc(); if(t=='2') { float b[3] = {0.11216024447519345, 0.11216024447519345, 0}; } } } I have declared the variable 'b' as global variable but the main function is not using this value Please suggest me what should I do? I am also confused that should I use MODEL SERIAL to complete the action.
1 Answer
5 years, 5 months ago.
void value_ADXL() { if(pc.readable()) { pc.printf("enter input"); // replace this line // t = pc.getc(); // with this int t = pc.getc(); if(t=='2') { // replace this line // float b[3] = {0.11216024447519345, 0.11216024447519345, 0}; // with this b[0] = 0.11216024447519345; b[1] = 0.11216024447519345; b[2] = 0; } } }
b may be declared as global somewhere else but your code was creating a new local variable called b and then setting that value without ever changing the value of the global b.
Also t is only used locally, it should be defined as local so that you don't accidentally change the value of some other variable called t elsewhere in your code.
And as a general style note - use variable names longer than 1 letter. It makes the code a lot more readable. a couple of seconds longer typing in a sensible name can save lots of time debugging later.
Finally use
<<code>> Your code <</code>>
when posting code so that it's readable.