reading data with serial communication between arduino and matlab problem

1 view (last 30 days)
Hi
I want to read position of encoder which is coded in Arduino program with serial communication in Matlab
the code in arduino program is:
int counter = 0;
int aState;
int aLastState;
void setup() {
pinMode (outputA, INPUT);
pinMode (outputB, INPUT);
Serial.begin(9600);
aLastState = digitalRead(outputA);
}
void loop() {
aState = digitalRead(outputA);
if (aState != aLastState) {
if (digitalRead(outputB) != aState) {
counter ++;
} else {
counter --;
}
Serial.print("Position: ");
Serial.println(counter);
}
aLastState = aState;
}
}
and the code of Matlab is:
s=serial('COM3');
fopen(s);
a=fscanf(s)
the problem is when the position is changed for example from 0 to 12 , when I use a=fscanf(s) it shows each values from 0 to 12 each times when I run this order I mean at the first time it shows 0 at the 2nd time it shows 1 at the3rd time it shows 2 etc.but I want to read the value of the position in real time how could I get this value?

Answers (0)

Categories

Find more on MATLAB Support Package for Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!