close all
max_t=5;

% Inicialização da comunicação
h=initcom(1,115200);

fprintf('Communication established!\n');

fprintf('Waiting for the # key...\n');
while (1)
    s=cportgetline(h,-1,'\r\n',-1);
    if (sum(s=='#')>0), break, end
end

% Leitura do período de amostragem
s=cportgetline(h,-1,'\r\n',-1);
ts=str2num(s)*1e-3;

% Inicialização do array que conterá os dados
array=[];

input('Pressione ENTER...');
    
% Envio do caracter 'C' pela porta série
% Este comando indicará ao PIC que pode aplicar o degrau
nc=cportwrite(h,'C');
% Verificação do envio com sucesso
if (nc~=1)
    error('myfunction:teste','Error sending character to PIC');
end

for t=0:ts:max_t
    % Leitura do valor do potenciómetro
    val=cportgetline(h,-1,'\r\n',-1);
    
    if (sum(val=='&')>0), break, end
    
    val2=cportgetline(h,-1,'\r\n',-1);
    val3=cportgetline(h,-1,'\r\n',-1);
    
    % Armazenamento dos valores
    array=[array; t str2num(val) str2num(val2) str2num(val3)];
end

% Encerramento das comunicações
killcom(h);

fprintf('Done!\n');

% Salvaguarda dos resultados em ficheiro
save degrau.txt array -ASCII -TABS

plot(array(:,1),array(:,2:end))