Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] matlab gui serial communication

Status
Not open for further replies.

aswathymohan

Member level 4
Member level 4
Joined
Nov 11, 2012
Messages
68
Helped
5
Reputation
10
Reaction score
5
Trophy points
1,288
Visit site
Activity points
1,727
Hi
Can anyone help me to give some idea about how to update serial data (continuously coming from the uart )in text box...?
 

First you have to create a serial object in the opening function or other callback where you begin serial communication. The object can be created as below
"serial_obj = serial('COM1'); % Change here accordingly..
set(serial_obj,'BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'FlowControl','none');
fopen(serial_obj);"
Then uses fscanf(serial_obj,'%s',&data); this will recieve data from serial port to matlab...update the value to edit text using set keyword.
 

Thanks for ur rply..what is that '&data''?
&data is not necessary always but some versions support that so you can either use data to recieve data serially...data will contain the variable that you recieve serially....that can be used to update value of edit text
 

will u pl post the code ?

- - - Updated - - -

I make changes to my code according to ur rply.But textbox is not showing
Code:
function varargout = m3(varargin)
% M3 M-file for m3.fig
%      M3, by itself, creates a new M3 or raises the existing
%      singleton*.
%
%      H = M3 returns the handle to a new M3 or the handle to
%      the existing singleton*.
%
%      M3('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in M3.M with the given input arguments.
%
%      M3('Property','Value',...) creates a new M3 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before m3_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to m3_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help m3

% Last Modified by GUIDE v2.5 25-Apr-2013 12:02:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @m3_OpeningFcn, ...
                   'gui_OutputFcn',  @m3_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before m3 is made visible.
function m3_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to m3 (see VARARGIN)

% Choose default command line output for m3
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes m3 wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = m3_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

s=serial('COM1','BaudRate',9600,'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none','Terminator','CR');
fopen(s);
a=fscanf(s,'String');
set(handles.edit1,'String',a)
dstop
fclose(s);
delete s
close s


function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 

will u pl post the code ?

- - - Updated - - -

I make changes to my code according to ur rply.But textbox is not showing
Code:
function varargout = m3(varargin)
% M3 M-file for m3.fig
%      M3, by itself, creates a new M3 or raises the existing
%      singleton*.
%
%      H = M3 returns the handle to a new M3 or the handle to
%      the existing singleton*.
%
%      M3('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in M3.M with the given input arguments.
%
%      M3('Property','Value',...) creates a new M3 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before m3_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to m3_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help m3

% Last Modified by GUIDE v2.5 25-Apr-2013 12:02:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @m3_OpeningFcn, ...
                   'gui_OutputFcn',  @m3_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before m3 is made visible.
function m3_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to m3 (see VARARGIN)

% Choose default command line output for m3
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes m3 wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = m3_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

s=serial('COM1','BaudRate',9600,'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none','Terminator','CR');
fopen(s);
a=fscanf(s,'String');
set(handles.edit1,'String',a)
dstop
fclose(s);
delete s
close s


function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

function varargout = m3(varargin)
% M3 M-file for m3.fig
% M3, by itself, creates a new M3 or raises the existing
% singleton*.
%
% H = M3 returns the handle to a new M3 or the handle to
% the existing singleton*.
%
% M3('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in M3.M with the given input arguments.
%
% M3('Property','Value',...) creates a new M3 or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before m3_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to m3_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help m3

% Last Modified by GUIDE v2.5 25-Apr-2013 12:02:14

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @m3_OpeningFcn, ...
'gui_OutputFcn', @m3_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before m3 is made visible.
function m3_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to m3 (see VARARGIN)

% Choose default command line output for m3
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes m3 wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = m3_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.pushbutton1,'Enable','off')
s=serial('COM1','BaudRate',9600,'DataBits', 8, 'Parity', 'none','StopBits', 1, 'FlowControl', 'none','Terminator','CR');
fopen(s);
a=fscanf(s,'%s');
set(handles.edit1,'String',a)
pause(0.1)
% dstop
fclose(s);
delete s
clear s
set(handles.pushbutton1,'Enable','on')


function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

try this code and if it is not working please attach your GUI, ' m3.fig' file to me.
 
thanks for ur rpl...problem was almost solved..It makes so much delay..how to tackle that issue?
 

thanks for ur rpl...problem was almost solved..It makes so much delay..how to tackle that issue?
are you using too many loops in it. If yes that may be the reason and otherwise the serial communication is causing the problem....that will be a hardware issue we cannot change that programmatically..
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top