读取串行缓冲区 Matlab 的剩余内容



我有一个程序,涉及连续读取串行端口,然后进行一些处理。由于处理,我在读取值时有一些延迟(我逐行读取(。一旦用户按下停止,读取就会停止,我不想确保缓冲区已完全读取。我知道缓冲区中会有一些数据,一旦关闭了,我不想丢失它。有没有办法一次读取整个缓冲区的内容?

我尝试了fscanf(comport(,但它只读取了一个元素。

我知道 fread 会读取整个缓冲区,但我不知道如何将二进制文件转换为字符串并获取有用的数据。

谢谢

如果你可以通过恐惧阅读所有内容,那么这只是一个格式问题。您可以将所有内容都视为数字,并转换为字符:

u8 = fread(comport, comport.BytesAvailable); % uchar, but in double 
ch = char(u8);

这应该以字符串形式在缓冲区中为您提供所有内容。

最新更新