Is there an equivalent serialbreak() function with the new serialport class in MATLAB 2020b?

4 vues (au cours des 30 derniers jours)
MATLAB is recommending the switch to serialport as opposed to serial. With the old serial class, you could send a serialbreak() command. With the new serialport() class, I cannot locate a similar functionality. Is there a way to do this? Thanks.
------------------------------------------------------------------------------------
% Old way.
mbed = serial('COM9');
fopen(mbed);
serialbreak(mbed,1);
% New way.
mbed = serialport('COM9',9600);
% How do I send serial break with this new class?

Réponses (2)

Pratyush Roy
Pratyush Roy le 27 Oct 2020
Hi Matthew,
As of MATLAB R2019b there is no builtin function to send a serial break to the 'serialport' object. Instead this will have to be done manually by sending 0 bits to the device for a certain amount of time, depending on the device. For example you can manually write 0s for the necessary amount of time:
write(s,zeros(1,amount),"uint8")
Hope this helps !!
  5 commentaires
Walter Roberson
Walter Roberson le 24 Mai 2022
Mike Koko:
You will need to raise this as a technical support case to emphasize to Mathworks that it is needed.
The new interface is, in my opinion, not currently suitable for controlling a serial port.
There was a time when I wrote modem control software, and data transfer software over dialup. I was a systems administrator for an ISP with international nodes. The current serialport() interface would not be usable for that kind of purpose.

Connectez-vous pour commenter.


Michael
Michael le 20 Nov 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by