Reading numeric value from COM port
1 次查看(过去 30 天)
显示 更早的评论
I try to use fscanf( ) to get the numeric heading of an electronic compass. The compass is sending data through COM1 with NMEA standard. When I open the port, and use FSCANF(ser) I get
ans =
$HCHDG,49.0,,,,
My problem is: how to filter the 49.0 out of this string, and convert it to a numeric value (eg float) so I can use it for calculations?
0 个评论
回答(1 个)
Walter Roberson
2011-10-15
textscan(). Or fscanf() or sscanf(). Or strfind() and index to extract the number as a string and str2double() it. Or regexp() to extract the number as a string and str2double() it.
A format of '%*7c' would eat the '$HCHDG,' and discard it.
2 个评论
Walter Roberson
2011-10-15
Sorry, I am not familiar enough with simulink. I am sure there is _some_ way, but I do not know if there is a "nice" way.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Standard File Formats 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!