上一篇实现了Matlab 对串口数据的读取,数据可以读取并且保存到本地。本文主要设计GUI并且动态的显示曲线。可以更直观的观察实时的姿态数据和传感器数据。
GUI设计效果:
姿态GUi.png
分别设置三个区域,分别为数据接收显示区域,串口设置区域和区域显示区域。
串口参数设置与上一篇基本一直,只是将串口号和波特率设置为全局变量。matlab GUI 编程可以看其他教程,主要调用函数参数与hObject,eventdata,handles。
hObject 和handles 都可以设置相应的空间的性能,但是区别在于hObject只是一个局部变量,而handles 相当于一个全局变量。当要在函数中设置另外控件的性能,只能调用handles。
参数设置区域
参数设置区域主要实现的是串口的选择和波特率的设置。GUI上通过下拉菜单选择。在相应空间的callback 函数中添加初始化代码:
COM callback 函数设置
% --- Executes on selection change in ppcom.
function ppcom_Callback(hObject, eventdata, handles)
% hObject handle to ppcom (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns ppcom contents as cell array
% contents{get(hObject,'Value')} returns selected item from ppcom
global COM;
val=get(hObject,'value');
switch val
case 1
COM='COM1';
fprintf('ceshi_COM=1\n');
case 2
COM='COM2';
case 3
COM='COM3';
case 4
COM='COM4';
case 5
COM='COM5';
case 6
COM='COM6';
case 7
COM='COM7';
case 8
COM='COM8';
case 9
COM='COM9';
end
波特率callback 函数设置
function ppbandrate_Callback(hObject, eventdata, handles)
% hObject handle to ppbandrate (see GCBO)
% eventdata reserved - to be defined in a future version of M