আমি কিছু ডেটা রেকর্ড করতে আরডুইনো ব্যবহার করছি। আমার আরডুইনো স্কেচে আমি millis()
ফাংশনটিও ব্যবহার করেছিলাম যাতে আমি যে মূল্যটি পরিমাপ করছি তার প্রতিটি সময় কীভাবে নেওয়া হবে তা ট্র্যাক রাখতে পারি। তবে, আমি লক্ষ্য করেছি যে সময়টি সঠিক নয়। উদাহরণস্বরূপ, বাস্তব জীবনে 30 সেকেন্ড কেবল 10 সেকেন্ড হিসাবে আসে (উদাহরণস্বরূপ)।
আমি কি এই কথাটি ঠিক করেছিলাম যে আরডুইনো বিলম্বের ক্রিয়াটি ব্যবহারের সময়কে প্রভাবিত করে millis()
? অন্য কথায় ধরুন আমার 50 বিলম্ব হয়েছে, তার মানে কি এই millis()
ফাংশনটি সেই সময়কালের জন্যও বন্ধ হয়ে যায় এবং তারপরে সংযোগের সময়কাল ধরে অব্যাহত থাকে? আমি এটি লক্ষ্য করেছি যখন আমি কিছু ডেটা চক্রান্ত করার চেষ্টা করেছি এবং সন্ধান করেছি যে আমার ডেটাতে পিকগুলির ফ্রিকোয়েন্সি খুব বেশি ঘন ঘন সময় পার হয়ে গিয়েছিল given সুতরাং আমি জানতে চাই যে এটি সময়ের এই অমিলের জন্য যুক্তি কিনা এবং যদি তাই হয় তবে আমি কীভাবে এটি ঠিক করব যাতে প্রতিটি নমুনা হওয়ার সময়টি রাখতে পারি?
এখানে কিছু প্রসঙ্গ দেওয়া আমার স্কেচ:
#include <eHealth.h>
unsigned long time;
// The setup routine runs once when you press reset:
void setup() {
Serial.begin(9600);
}
// The loop routine runs over and over again forever:
void loop() {
float ECG = eHealth.getECG();
time = millis();
Serial.print(time);
Serial.print(" ");
Serial.print(ECG, 5);
Serial.println("");
delay(50);
}
millis()
বাধাপ্রাপ্ত চালিত, সুতরাং delay()
এটি প্রভাবিত করা উচিত নয়।