উদ্ধৃত শব্দগুচ্ছ না একটি সতর্কবার্তা, এটা নিছক কিভাবে জিনিসগুলো কাজ সম্পর্কে একটি বিবৃতি হল।
সঠিকভাবে লিখিত বিঘ্নিত রুটিন ব্যবহার millis()
বা অভ্যন্তরের অভ্যন্তরীণ কিছু নেই micros()
।
অন্যদিকে, অযথাই-লিখিত বিঘ্নিত রুটিনের মধ্যে মোটেও কিছু করা সংজ্ঞা দ্বারা ভুল।
একটি বাধা রুটিন যা কিছু কাজ করার জন্য কয়েকটি মাইক্রোসেকেন্ডের বেশি নেয়, সম্ভবত সমস্ত ক্ষেত্রেই এটি ভুলভাবে লেখা।
সংক্ষেপে বলতে গেলে: একটি সঠিকভাবে লেখা বিঘ্ন রুটিন কারণ বা সাক্ষাত সমস্যা হবে না millis()
বা micros()
।
সম্পাদনা: "কেন মাইক্রো ()" ত্রুটিযুক্ত আচরণ শুরু করে "" সম্পর্কিত, " আরডুইনো মাইক্রো ফাংশন পরীক্ষা " ওয়েবপৃষ্ঠায় বর্ণিত হিসাবে , micros()
একটি সাধারণ ইউনোর কোড কার্যত সমতুল্য
unsigned long micros() {
return((timer0_overflow_count << 8) + TCNT0)*(64/16);
}
এটি timer0_overflow_count
টাইমার -0 গণনা নিবন্ধের তিনটি সর্বনিম্ন বাইট এবং একটি বাইট সমন্বয়ে একটি চার-বাইট স্বাক্ষরযুক্ত দীর্ঘ প্রত্যাবর্তন করে ।
timer0_overflow_count
একবার দ্বারা মিলিসেকেন্ডে প্রতি মান বৃদ্ধি হয় TIMER0_OVF_vect
বিঘ্ন হ্যান্ডলার, একটি ব্যাখ্যা Arduino Millis ফাংশনের পরীক্ষা ওয়েবপেজ।
একটি বাধাপ্রাপ্ত হ্যান্ডলার শুরু হওয়ার আগে, AVR হার্ডওয়্যার বাধা অক্ষম করে। যদি (উদাহরণস্বরূপ) একটি বিঘ্নিত হ্যান্ডলারটি এখনও নিষ্ক্রিয় হওয়া বাধা সহ পাঁচ মিলি সেকেন্ডের জন্য চালানো হয় তবে কমপক্ষে চারটি টাইমার 0 ওভারফ্লো মিস হবে। [আরডুইনো সিস্টেমে সি কোডে লিখিত বাধাগুলি পুনরায় তদন্তকারী নয় (একই হ্যান্ডলারের মধ্যে একাধিক ওভারল্যাপিং ফাঁসি কার্যকরভাবে পরিচালনা করতে সক্ষম) তবে কেউ একটি পুনর্বারক সমাবেশ ভাষা হ্যান্ডলার লিখতে পারে যা একটি সময়সাপেক্ষ প্রক্রিয়া শুরুর আগে বাধা পুনরায় সক্ষম করে]]
অন্য কথায়, টাইমার ওভারফ্লোগুলি "স্ট্যাক আপ" করে না; যখনই সামনে পূর্ববর্তী ওভারফ্লো থেকে বিঘ্ন ঘাঁটা হয়েছে একটি ওভারফ্লো ঘটে, millis()
পাল্টা একটি মিলিসেকেন্ডে হারায়, এবং অমিল timer0_overflow_count
ঘুরে তোলে micros()
একটি মিলিসেকেন্ডে খুব দ্বারা ভুল।
বাধা প্রক্রিয়াকরণের জন্য একটি উচ্চতর সময়সীমা হিসাবে "500 ডিগ্রি এর চেয়ে কম" সম্পর্কে, "টাইমারকে খুব বেশি সময়ের জন্য বাধা দেওয়া রোধ করতে", আপনি কেবল 1024 ডিগ্রি (যেমন 1020 μ সে) এর অধীনে যেতে পারেন এবং millis()
বেশিরভাগ ক্ষেত্রেই কাজ করতে পারবেন সময়। তবে, আমি একটি বাধাপ্রাপ্ত হ্যান্ডলারটিকে বিবেচনা করি যা 5% এর চেয়ে বেশি আস্তর হিসাবে নেয়, 10 than এর চেয়ে বেশি আস্তে, 20 than এর চেয়ে বেশি শামুকের মতো।