
Objeto tcpip
Publicado por Guillermo (15 intervenciones) el 21/10/2017 18:34:47
Estoy desarrollando una interfaz de usuario mediante app designer pero tengo un problema. He creado un objeto tcpip para recibir los datos almacenados en un micro pero el problema es que al representarlos en un plot, este no se actualiza solo aparecen los primeros datos recibidos (si desconecto y conecto el boton si que aparecen los nuevos datos) y no se como solucionarlo. Si alguien pude ayudarme le estaría muy agradecido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function StartButton (app,event)
set(app.t_waveforms, 'InputBufferSize', 1024 +8);
app.tip=app.IPField.Value;
app.t_waveforms= tcpip('192.168.1.100', 80);
fopen(app.t_waveforms);
echotcpip('off');
fprintf(app.t_waveforms,'GET /Interface_waveforms');
pause(0.01);
app.DataReceived_ch=fread(app.t_waveforms);
% Se leen 2 valores de 8 bits por cada entero de 16 bits
i=1;
j=1;
while i<length(app.DataReceived_ch)
app.B(j) = 2^8*app.DataReceived_ch(i+1)+app.DataReceived_ch(i);
% Se convierten los números int mayores de (2^16)-1 a negativos
if app.B(j) > 32768
app.B(j)=app.B(j)-65536;
end
i=i+2;
j=j+1;
end
% Se distribuyen los datos en cuatro vectores
app.H1=length(app.B)-4;
app.B=0.1*app.B;
app.B1(1 : app.H1/4)=app.B(1 : 0.25*app.H1);
app.z1=app.B1;
app.B2(1 : app.H1/4)=app.B(1+(0.25*app.H1) : 0.5*app.H1);
app.z2=app.B2;
app.B3(1 : app.H1/4)=app.B(1+(0.5*app.H1) : 0.75*app.H1);
app.z3=app.B3;
app.B4(1 : app.H1/4)=app.B(1+(0.75*app.H1) : app.H1);
app.z4=app.B4;
flushinput(app.t_waveforms);
pause(0.2);
end
function GraphButton(app,event)
plot(app.Grafica1,app.z2);
end
Valora esta pregunta


0