Läsa av frekvens via USB - Effektivt eller kast?
Postat: 24 september 2016, 23:19:20
Jag håller på läsa utav frekvens via MATLAB igenom USB hos en Arduino. Men problemet är att jag tycker det svajar så mycket i plotten jag plottar ut.
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?
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)