⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.m

📁 matlab环境下的多路串口数据实时绘图显示
💻 M
📖 第 1 页 / 共 5 页
字号:

uicontrol('style','text','position',[105 120 10 20 ],'string',5,'backgroundcolor',[0.8,0.8,0.8],'foregroundcolor','k','fontsize',12);

uicontrol('style','text','position',[105,16,10,20],'string',0,'backgroundcolor',[0.8,0.8,0.8],'foregroundcolor','k','fontsize',12);
set(hslider,'callback',...   
                ['global  hresult;',...
                 'global  hmainfig;',...
                 'ht2=getappdata(hmainfig,''ht2'');',...
                 'hslider=getappdata(hmainfig,''hslider'');',...
                'a=get(hslider,''value'');',...               
                'set(hresult,''linewidth'',a);',...
                'set(ht2,''string'',sprintf(''%1.4g'',a));']);
   set(h2,'visible','on');
            
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%这个函数是用来添加一个新的通道。
%  bijiao  function
 function  bijiao(hobject,eventdata,handles)
global  hinput1 hinput2 sampletime;
global  hmainfig  hcurrent  hresult;

hsubfig=figure('menubar','none','numbertitle','off','position',[100,100,400,300],'name','双轴显示');
set(hsubfig,'defaultuicontrolfontsize',13,'resize','off');
set(hsubfig,'visible','off');

hsubtext=uicontrol(hsubfig,'position',[100,250,180,20],'style','text',...
                               'foregroundcolor',[0 0 1],...
                              'string','请您再选择一个通道:','backgroundcolor',[0.8 0.8 0.8]);
                          
hsublist=uicontrol(hsubfig,'position',[110,120,150,100],'style','listbox',...
                                'foregroundcolor',[0 0 1],...
                                'backgroundcolor',[1 1 1],...
                                'string','channel1|channel2|channel3|channel4|channel5|channel6|channel7|channel8');
                            
 hsubpush=uicontrol(hsubfig,'position',[125,50,80,30],'style','push',...
                                 'backgroundcolor',[0.8,0.8,0.8],...
                                 'string','OK');
  setappdata(hmainfig,'hsubfig',hsubfig);     
  setappdata(hmainfig,'hsublist',hsublist);
                                 
    set(hsubpush,'callback',...
                                                ['global  hmainfig;',...
                                                 'global  hinput1;',...
                                                 'global  hcurrent;',...
                                               'allaxes=getappdata(hmainfig,''allaxes'');',...
                                               'allline=getappdata(hmainfig,''allline'');',...
                                               'hsubfig=getappdata(hmainfig,''hsubfig'');',...
                                               'hsublist=getappdata(hmainfig,''hsublist'');',...
                                               'haxes1=allaxes(1);',...
                                               'haxes2=allaxes(2);',...
                                               'haxes3=allaxes(3);',...
                                               'haxes4=allaxes(4);',...
                                               'haxes5=allaxes(5);',...
                                               'haxes6=allaxes(6);',...
                                               'haxes7=allaxes(7);',...
                                               'haxes8=allaxes(8);',...
                                               'htext2=getappdata(hmainfig,''htext2'');',...
                                               'htext5=getappdata(hmainfig,''htext5'');',...
                                               'htext6=getappdata(hmainfig,''htext6'');',...
                                               'htext55=getappdata(hmainfig,''htext55'');',...
                                               'htext66=getappdata(hmainfig,''htext66'');',...
                                               'htext41=getappdata(hmainfig,''htext41'');',...
                                               'htext42=getappdata(hmainfig,''htext42'');',...
                                               'htext43=getappdata(hmainfig,''htext43'');',...
                                               'channelnum=get(hsublist,''value'');',...
                                           'if   channelnum==1',...
                                                'hnewaxes=haxes1;',...
                                                 'newunits=hinput1.ch1units;',...
                                          'elseif   channelnum==2',...
                                               'hnewaxes=haxes2;',...
                                               'newunits=hinput1.ch2units;',...
                                         'elseif      channelnum==3',...
                                                'hnewaxes=haxes3;',...
                                                'newunits=hinput1.ch3units;',...
                                         'elseif       channelnum==4',...
                                                 'hnewaxes=haxes4;',...
                                                 'newunits=hinput1.ch4units;',...
                                         'elseif        channelnum==5',...
                                                 'hnewaxes=haxes5;',...
                                                 'newunits=hinput1.ch5units;',...
                                         'elseif        channelnum==6',...
                                                 'hnewaxes=haxes6;',...
                                                 'newunits=hinput1.ch6units;',...
                                         'elseif        channelnum==7',...
                                                 'hnewaxes=haxes7;',...
                                                 'newunits=hinput1.ch7units;',...
                                         'elseif        channelnum==8',...
                                                 'hnewaxes=haxes8;',...
                                                 'hnewunits=hinput1.ch8units;',...
                                                 'end;'...     
                                                  'close(hsubfig);',...
                                          'if  (hnewaxes==hcurrent)',...         
                                               'hwarndlg=warndlg(''此通道已经被显示,请你选一个其它的通道!'',''抱歉!!!'');',...                                               
                                              'set(hwarndlg,''position'',[285,300,250,80]);',...   
                                            'else;',...                                           % hx,hy是hcurrent,hnewaxes下的子对象。分别代表相应的线。
                                                'cc=get(hcurrent,''xlim'');',...
                                                'dd=get(hnewaxes,''xlim'');',...
                                                'if cc<dd;',...
                                                    'set(hcurrent,''xlim'',dd);',...
                                                    'else;',...
                                                    'set(hnewaxes,''xlim'',cc);',...
                                                    'end;',...
                                                 'set(allaxes, ''visible'',''off'');',...
                                                 'set(allline,''visible'',''off'');',... 
                                                'hx=get(hcurrent,''children'');',...
                                                'hy=get(hnewaxes,''children'');',...
                                                'set(hcurrent,''position'',[0.12,0.52,0.8,0.39]);',...
                                                'set(hnewaxes,''position'',[0.12,0.09,0.8,0.39]);',...
                                                'set([hcurrent,hnewaxes],''visible'',''on'');',...
                                                'set([hx,hy],''visible'',''on'');',...                                             
                                                'set(htext2,''string'',newunits);',...
                                                'set([htext5,htext6],''string'',''通道:'');',...
                                                'set(htext55,''string'',get(htext42,''string''));',...
                                                'set(htext66,''string'',channelnum);',...
                                                   'set([htext41,htext42,htext43],''string'','''');',...
                                              'end']);
     
       movegui(hsubfig,'center');                                             
    set(hsubfig,'visible','on');
  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%下面这个函数是1号工具栏的回调函数。
     function   huipushtool1_callback(hobject,eventdata,handles)
         global  hmainfig  hinput1;
         global  hcurrent hresult;
        
         allaxes=getappdata(hmainfig,'allaxes');
         allline=getappdata(hmainfig,'allline');
         htext1=getappdata(hmainfig,'htext1');
         htext2=getappdata(hmainfig,'htext2');
         htext5=getappdata(hmainfig,'htext5');
         htext6=getappdata(hmainfig,'htext6');
         htext55=getappdata(hmainfig,'htext55');
         htext66=getappdata(hmainfig,'htext66');
         htext41=getappdata(hmainfig,'htext41');
         htext42=getappdata(hmainfig,'htext42');
         htext43=getappdata(hmainfig,'htext43');
         haxes1=allaxes(1);
         hline1=allline(1);
         
         set(haxes1,'visible','on');
        set(haxes1,'position',[0.12,0.1,0.8,0.78]);
        set([htext2,htext5,htext6],'string','');                                            
        set([htext55,htext66],'string','');                                            
        set(hline1,'visible','on');                                          
        set(hmainfig,'currentaxes',haxes1);                                        
          hcurrent=haxes1;   
          set(allaxes(2:8),'visible','off');
         set(allline(2:8),'visible','off');                                          
          set(htext41,'string','第');                                        
        set(htext42,'string','1');                                        
        set(htext43,'string','通道');                                        
       set(htext1,'string',hinput1.ch1units);                                           
        hresult=hline1;                                        
                                            
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%这是2号工具栏的回调函数。
         function   huipushtool2_callback(hobject,eventdata,handles)
             
         global  hmainfig hinput1;
         global hcurrent hresult;
         allaxes=getappdata(hmainfig,'allaxes');
         allline=getappdata(hmainfig,'allline');
         haxes2=allaxes(2);
         htext2=getappdata(hmainfig,'htext2');
         htext5=getappdata(hmainfig,'htext5');
         htext6=getappdata(hmainfig,'htext6');
         htext55=getappdata(hmainfig,'htext55');
         htext66=getappdata(hmainfig,'htext66');
         hline2=allline(2);
         htext41=getappdata(hmainfig,'htext41');
         htext42=getappdata(hmainfig,'htext42');
         htext43=getappdata(hmainfig,'htext43');
         htext1=getappdata(hmainfig,'htext1');
         
         set(haxes2,'visible','on');
        set(haxes2,'position',[0.12,0.1,0.8,0.78]);
         set([htext2,htext5,htext6],'string','');                                         
         set([htext55,htext66],'string','');                                          
         set(hline2,'visible','on');                                        
         set(hmainfig,'currentaxes',haxes2);                                            
          hcurrent=haxes2;                                        
          set([allaxes(1),allaxes(3:8)],'visible','off');                                       
          set([allline(1),allline(3:8)],'visible','off');                                       
         set(htext41,'string','第');                                      
         set(htext42,'string','2');                                         
          set(htext43,'string','通道');                                         
          set(htext1,'string',hinput1.ch2units);                                       
         hresult=hline2;                                        
                                                  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%这个子函数是3号工具栏的回调函数。
             function  huipushtool3_callback(hobject,eventdata,handles)
         global  hmainfig   hinput1;
         global  hcurrent   hresult;
         
         allaxes=getappdata(hmainfig,'allaxes');
         allline=getappdata(hmainfig,'allline');
         haxes3=allaxes(3);
         htext2=getappdata(hmainfig,'htext2');
         htext5=getappdata(hmainfig,'htext5');
         htext6=getappdata(hmainfig,'htext6');
         htext55=getappdata(hmainfig,'htext55');
         htext66=getappdata(hmainfig,'htext66');
         hline3=allline(3);
         htext41=getappdata(hmainfig,'htext41');
         htext42=getappdata(hmainfig,'htext42');
         htext43=getappdata(hmainfig,'htext43');
         htext1=getappdata(hmainfig,'htext1');
         

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -