Serial port communication
Mostra commenti meno recenti
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.
Risposta accettata
Più risposte (2)
Walter Roberson
il 31 Lug 2011
0 voti
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
il 31 Lug 2011
0 voti
1 Commento
Walter Roberson
il 31 Lug 2011
You could set the terminator to carriage return, or you could use
fprintf(s,'%s\r', '03')
Categorie
Scopri di più su MATLAB Support Packages in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!