Device communication

2 次查看(过去 30 天)
Hi
I need help with reading data from a device. My code :
s1 = serial('COM4');
s1.BaudRate = 9600;
s1.DataBits = 8;
s1.Parity = 'none';
s1.StopBits = 1;
s1.FlowControl = 'none';
s1.Terminator ='CR';
fopen(s1);
fread(s1);
fclose(s1);
delete(s1);
The problem occurs, because I have to send/transmit a macro to the device. Macro is ACK(acknowledgment/006) in ASCII. I don't know how to do this. What should I add to my code?
Thanks a bunch in advance!

采纳的回答

Walter Roberson
Walter Roberson 2011-12-7
fwrite(s1, char(6))

更多回答(2 个)

Slobodan Djordjevi?
It worked, thanks!
Now the the data is an array of 1x17 of some numbers 48 48 48 48 46 48 52 13 48 48 48 48 46 48 48 13 10, am I supposed to convert this?
  1 个评论
Walter Roberson
Walter Roberson 2011-12-7
fwrite(s1, char([48 48 48 48 46 48 52 13 48 48 48 48 46 48 48 13 10]))
Please double-check the list of characters. At the very end you have 10 following the 13, which is linefeed following carriage return, but earlier in the sequence you have a carriage return by itself. Very few systems mix carriage return alone with carriage return followed by linefeed.

请先登录,再进行评论。


Slobodan Djordjevi?
Nevermind, I did it with char(data).
Thank you Walter!

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by