Matlab GUI: Showing data from COM port in listbox without using any push button
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I Want to display, in listbox, the data received in COM port. I can show the incoming data in listbox using push button. The data is showing exactly as long as I use push button, but after removing the push button and only using listbox [putting code in listbox's callback] nothing is showing. How can I use listbox to execute the code and shows what it is getting in COM port?
Code::
function listbox1_Callback(hObject, eventdata, handles)
s = serial ('COM6'); % the communication port
fopen(s); %open the serial port
scanText = fscanf(s);
data = scanText;
set(handles.listbox1,'String',...
[data]);
fclose(s);
0 Commenti
Risposta accettata
dpb
il 21 Giu 2014
Because there is no event for the listbox w/o a user intervention -- so the callback function will never be called.
You need to create a serial port event callback -- see documentation under "Events and Callbacks" link under the Serial Port Devices section. It's under Data and File Management chapter.
0 Commenti
Più risposte (1)
Roberto
il 21 Giu 2014
The callback function of a listbox is executed when you select an element of the list, what I think you might want is to read from device automatically, to achieve this you can use the 'Create function' that is executed when the object is created:
function listbox1_Create_Fcn(hObject, eventdata, handles)
s = serial ('COM6'); % the communication port
fopen(s); %open the serial port
scanText = fscanf(s);
data = scanText;
set(handles.listbox1,'String',...
[data]);
fclose(s);
0 Commenti
Vedere anche
Categorie
Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!