找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 950|回复: 1
打印 上一主题 下一主题
收起左侧

大神们,matlab代码求解释

[复制链接]
跳转到指定楼层
楼主
ID:326549 发表于 2020-10-29 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50黑币
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      

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:326549 发表于 2020-10-29 20:41 | 只看该作者
解释一下怎么用的啊,从if那就看不懂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表