我正在使用COM端口,我从COM获得一个值(例如温度值)。现在,当我试图从该值中减去特定值(例如8)时,它没有显示所需的值。这是代码:
function pushbutton1_Callback(hObject, eventdata, handles)
instrreset; %resets the serial devices
clc;
s = serial ('COM6');
RxText3 = fscanf(handles.serConn);
key = 8;
P = minus(RxText3,key);
set(handles.tempserial,'string',P);
fclose(s);
我期待的是: 假设我得到的值为32,我的键值为8.然后我希望得到24。
我得到的是: 我得到两个值为42和45。
其他问题:
如何设置该值以显示24摄氏度?我试过这个:set(handles.tempserial,' string',P,' Celcius'),在这种情况下没有显示任何内容。
答案 0 :(得分:0)
您的变量名RxText3
表明RxText3
包含char数组。要验证此设置断点并检查class(RxText3)
。如果是这样,您必须将输出转换为double值,使用str2double