📄 pidcallback.asv
字号:
function pidcallback(obj, event)
global p p2a p2b i i2a i2b d d2a d2b p2 i2 d2 time2 count2 s data flagopen ;
i=1;
j=1;
k=1;
n=1;
data = fread(s,count2,'uint16');%这个地方应该怎么定义呢
fwrite(s,[4 p2a p2b i2a i2b d2a d2b time2],'uint8');
fclose(s);
delete(s);
clear s;
datax(1) = 0 ;
datay(1) = 0 ;
error(1) = 0 ;
length(data)
%h1=findobj(0,'tag','axes1')
for i=1:length(data)
if mod(i,4)==2
datax(j)=(data(i)*256*256+data(i-1))/1000;
j=j+1;
elseif mod(i,4)==0
datay(k)=(data(i)*256*256+data(i-1))/1000;
k=k+1;
error(n)=(datax(j-1)-datay(k-1));
n=n+1;
end
end
length(datax)
m=0:time2*0.4096:(length(datax)-1)*time2*0.4096;
%h=plot(h1,m,datay,'r','linewidth',2);
hold on ;
h=plot(m,datay,'r','linewidth',2);
x=get(h,'xdata');
y=get(h,'ydata');
imin=find(min(y)==y);
imax=find(max(y)==y);
text(x(imin(1)),y(imin(1)),strcat('\leftarrow最小值=',num2str(y(imin(1)))),'fontsize',9)
text(x(imax(1)),y(imax(1)),strcat('\leftarrow最大值=',num2str(y(imax(1)))),'fontsize',9)
hold on;
plot(m,datax,'b','linewidth',2);
hold on;
xlabel('时间(ms)');
ylabel('位置(pi)');
title('位置跟踪曲线');
clear data;
clear datax;
clear datay;
% fwrite(s,[4 p2a p2b i2a i2b d2a d2b time2],'uint8');
% fclose(s);
% delete(s);
% clear s;
flagopen=1;
%receive=fread(s);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -