У меня возникли проблемы с получением согласованных результатов с кодом, который я использую. Я хочу запустить Arduino в течение определенного времени (например, 20 секунд) и собирать данные с аналогового вывода с определенной частотой дискретизации (скажем, четыре раза в секунду). Код выглядит следующим образом.Настройка частоты дискретизации в MATLAB для Arduino
a_pin = 0;
tic;
i = 0;
while toc < 20
i = i + 1;
time(i) = toc;
v(i) = a.analogRead(a_pin);
pause(.25);
end
Есть ли способ установить цикл для запуска определенного времени, а затем в примере цикла с другой скоростью?
Кажется, отлично работает! Большое спасибо ! Вы знаете, какая максимальная частота дискретизации? – user2512053
Пожалуйста, примите ответ (зеленая галочка в левой части ответа), если это поможет вам решить вашу проблему ... Максимальная частота дискретизации будет ограничена вашим оборудованием (моя догадка). Ограничение конца Matlab - это разрешение 'tic' /' toc' функций, которые * очень точны * ([подробнее] (http://www.mathworks.com/company/newsletters/articles/improvements-to-tic- и-TOC-функции-для измерения абсолютной-истекшее время-производительность-в-matlab.html)). – plesiv
Новое на форуме не знало, что вы принимаете решения ... но я просто сделал это. Еще раз спасибо за помощь – user2512053