Matlab GUI: Showing data from COM port in listbox without using any push button
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
dpb
le 21 Juin 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 commentaires
Plus de réponses (1)
Roberto
le 21 Juin 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175141/image.png)
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 commentaires
Voir également
Catégories
En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!