Koden jag har ser ut så här:
Det jag undrar är varför svajar det så mycket. Har detta med hastigheten på min dator att göra? Det kanske inte är så smart att läsa av frekvens via USB på en liten PC som jag har? Den är hyfsat seg. Jag kör ju MATLAB 2016 + Firefox på denna enkla linuxmaskin. CPU är upp på 100%. Är detta orsaken varför min plott ser ut som den gör?
Kod: Markera allt
% Clear
clear;
clc;
% Connect
arduino = arduino('/dev/ttyS101', 'Mega2560');
% Declare input and output
configurePin(arduino,'D12','DigitalInput');
% Loop
disp('run')
i = 1;
frec(i) = 0;
step(i) = 0;
while step(i) < 10
pin12 = readDigitalPin(arduino,'D12')
if pin12 == 1
tic;
while pin12 == 1
pin12 = readDigitalPin(arduino,'D12');
end
while pin12 == 0
pin12 = readDigitalPin(arduino,'D12');
end
T = toc;
i = i + 1;
frec(i) = 1/T;
if(i == 1)
step(i) = T;
else
step(i) = T + step(i-1);
end
end
end
plot(step, frec)