How do I close the port Arduino is connected to?
35 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have developed a GUI which uses the Arduino support package. Every time I close and rerun the program an error pops up saying the port is already being used by MATLAB. I clear all the variables and can rerun the program without any issues. I wanted to know if there was a way to close the connection with the arduino when the figure is closed.
I already tried to delete the arduino object but that did not work. I also tried to clear the object which also oddly did not work. Can someone help?
2 comentarios
Adithya Vivek
el 24 de Jul. de 2017
Editada: Walter Roberson
el 8 de Feb. de 2021
Dear Mathews, I apologize for not being able to answer your question, but could you please help with a similar problem I have? I am trying to create a way to autodetect the com port the arduino is connected to such that I can create an application usable on any Windows computer. I created a link for this question here: https://www.mathworks.com/matlabcentral/answers/349958-auto-detection-of-the-com-port-that-arduino-is-connected-to-then-defined-as-an-argument-that-can-be
I would be infinitely grateful!
PAUL ANGARITA
el 8 de Feb. de 2021
Editada: PAUL ANGARITA
el 8 de Feb. de 2021
I will give my contribution. Sorry for late reply. I recommend using the Command
.... clear... .
Remember it cleans all Variables in WORKSPACE. If you need to delete only the object ...a = arduino().. so only delete ...a
Remember to close or delete all objects regarding arduino stuff, firstly.
Respuestas (3)
Mathews John
el 17 de Jul. de 2015
2 comentarios
Image Analyst
el 18 de Jul. de 2015
Not that I know of. It's only a line of code so I don't know how it could be simpler or better. glad my suggestion of fclose() worked for you.
Azrg
el 23 de Oct. de 2019
Whenever I get the message that a Arduino is already used when it is not, I use these two functions:
fclose(instrfindall);
delete(instrfindall);
Works for me :) hope it helps someone else who has this issue
0 comentarios
Image Analyst
el 15 de Jul. de 2015
Perhaps call fclose():
s = serial('COM1');
fopen(s)
fprintf(s, '*IDN?')
idn = fscanf(s);
fclose(s)
Ver también
Categorías
Más información sobre Arduino Hardware en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!