Simple Matlab & Arduino Serial Communication

81 vues (au cours des 30 derniers jours)
Tyler
Tyler le 1 Juil 2013
Commenté : Ana-Maria Moga le 24 Juil 2021
I am attempting a running the following program and am getting strange results. After opening the serial port, the Arduino sends a "Ready" command to matlab. Then it sends a uint16 (2 bytes) value of 500 to the arduino. The arduino simply echoes what was received back to matlab in HEX.
When I run this I expect readData to equal 0x01F4, but I get 0xC0F4. Any suggestions?
Arduino CODE:
byte incomingByte1;
void setup(){
pinMode(2,OUTPUT);
Serial.begin(115200);
Serial.println("Ready");
}
void loop() {
digitalWrite(2,LOW); //turn off LED
delay(500);
if (Serial.available() > 0) {
digitalWrite(2,HIGH); //flash LED everytime data is available
delay(500);
incomingByte1 = Serial.read(); //read incoming data
Serial.println(incomingByte1,HEX); //print data
}
}
Matlab CODE:
clear
clc
s=serial('COM7','BaudRate',115200);
fopen(s);
readData=fscanf(s) %reads "Ready"
writedata=uint16(500); %0x01F4
fwrite(s,writedata,'uint16') %write data
for i=1:2 %read 2 lines of data
readData=fscanf(s)
end
fclose(s);
delete(s);
OUTPUT:
readData =
Ready
readData =
F4
readData =
C0
  3 commentaires
avram alter
avram alter le 14 Fév 2019
It's been nearly 6 years, but from the bottom of my heart, thank you. this thing actually worked to solve my problems.
Ana-Maria Moga
Ana-Maria Moga le 24 Juil 2021
Thank you for this!

Connectez-vous pour commenter.

Réponses (1)

islam dib
islam dib le 8 Déc 2020
Hello,
How can I read data sending from arduino via serial port, in Matlab?
  2 commentaires
Jan Dustin Tengdyantono
Jan Dustin Tengdyantono le 18 Fév 2021
fscanf(s);
islam dib
islam dib le 4 Mar 2021
I mean not just read,open and read and print them !!?

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Support Package for Arduino Hardware dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by