在使用MATLAB中scanf()读取单片机串口发送的数据时出现了如下图的warning,而且每次接收串口数据都要好久:
处理办法:
在每行最后的位置加了\n换行符号,这样就不会出现警告,而且串口传输数据的速度几乎是实时的。
分析:
此处使用的是fscanf(),在MATLAB中help打开函数解释,
上图可知sizeA是指,接收数组的维度。
个人理解,警告的意思大概是数据流占满了终端,我在使用fscanf()时是用默认的Inf,所以单片机传送数据给MATLAB时,即便是没有字符串了,MATLAB也会一直读取该行数据,直到数据装不下溢出了,停止读取。
因此,在数据串末位加换行,表示该行结束,即可结束读取。