标题: 大神们,matlab代码求解释 [打印本页]

作者: z809275807    时间: 2020-10-29 20:40
标题: 大神们,matlab代码求解释
s=serial(PORT);
            fclose(s);
            s.status
            fopen(s);
            s.status
            %%%%%%%%%%%%%%%利用找空格的方法,确保读取串口值为正常有效值
            f = 1;
            N = 25;
            while f <= N
                Bstr = fscanf(s)
                q = num2str(f);
                index = find(Bstr==' ')
                %if ( Bstr(1:(index(1)-2)) ~= ['x' q] |  Bstr((index(3)+1):(index(4)-2)) ~= ['y' q] |  Bstr((index(6)+1):(index(7)-2)) ~= ['z' q] )
                if ( str2num(Bstr(1:(index(1)-2))) ~= str2num(['x' q]) |  str2num(Bstr((index(3)+1):(index(4)-2))) ~= str2num(['y' q]) |  str2num(Bstr((index(6)+1):(index(7)-2))) ~= str2num(['z' q]) )
                    f = 1;
                    continue;
                end
                len = length(index)
                Bx(1,f) =  str2num( Bstr( index(1):index(2) ) );
                By(1,f) =  str2num( Bstr( index(4):index(5) ) );
                Bz(1,f) =  str2num( Bstr( index(7):length(Bstr) ) );
                if abs(Bx(f))>=4096 | Bx(f)==0 | abs(By(f))>=4096 | By(f)==0 | abs(Bz(f))>=4096 | Bz(f)==0
                    display('数据超范围。');
                    return
                end
                f = f + 1;
            end      


作者: z809275807    时间: 2020-10-29 20:41
解释一下怎么用的啊,从if那就看不懂了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1