%SCRIPT PARA COMUNICACION CON LOS OSCILOSCOPIOS TDS200 O EQUIVALENTES DE %LABORATORIO 2 %%%%%%%%%%%CONFIGURACION DE LA COMUNICACION POR PUERTO SERIE: s2=serial('COM1','BaudRate',9600,'Parity','none','terminator','LF'); set(s2,'InputBufferSize',20000) %aumenta el tamaño del buffer para levantar %series temporales de un canal fopen(s2); query(s2,'*IDN?') % definir primero la fuente de los datos (source puede ser CH1, CH2, MATH) fprintf(s2,'DATA:SOURCE CH1') % %para levantar del canal de math hay que invocar la siguiente! %fprintf(s2,'DATA:SOURCE MATH') %%%%%%%%%%%%%% incluir estas lineas sin modificar %%%%%%%%%%% fprintf(s2,'DAT:ENC RPB') %tipo de codificacion binaria fprintf(s2,'DAT:WID 1') % 1= 8 bits, 2= 16 bits (16 no siempre funciona) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % pide el preámbulo (sirve para dar formato temporal y de amplitud a los datos ji=query(s2,'WFMPRE:XZE?;XIN?;YZE?;YMU?;YOFF?;'); %'WFMPRE:XZE?;XIN?;YZE?;YMU?;YOFF?;'); %%% levanta datos del canal fprintf(s2,'CURV?'); [hh,count]=binblockread(s2,'uint8'); fclose(s2) figure(1),plot(hh) %los datos crudos, falta la escala temporal y de voltaje er=str2num(ji); %parametros del preambulo en formato numerico t=[1:length(hh)]*er(2)+er(1); %columna de tiempos kl=(hh-er(5))*er(4)+er(3); %columna de voltajes figure(5),plot(t,kl) %%%%%%%%%% para guardar los datos los agrupa en una matriz de 2 x 2500 datatransit=[transpose(t) kl]; save('stemp', 'datatransit','-ascii')