Serial port communication
Show older comments
I have an On-Board Diagnostics (OBDII) tool that I am trying to read the values from. This tool helps me trouble codes on a car's ECU. I can use hyperterminal to read the values through the USB. When I open the terminal with COM1, baud rate of 9600 and type in 03, it returns me some value.
How do I do the same in MATLAB? Is this it or do I need to do more?
s = serial('COM1'); fopen(s) fprintf(s,'03') out = fscanf(s)
Please suggest.
Accepted Answer
More Answers (2)
Walter Roberson
on 31 Jul 2011
0 votes
What terminator does the remote system need? fprintf(s,'03') is defined as fprintf(s,'%s\n','03') which sends 03 followed by whatever terminator is configured for the port. If that terminator does not match what the remote system is expecting, you could have difficulty.
Krishna Gummadi
on 31 Jul 2011
0 votes
1 Comment
Walter Roberson
on 31 Jul 2011
You could set the terminator to carriage return, or you could use
fprintf(s,'%s\r', '03')
Categories
Find more on MATLAB Support Packages 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!