পরীক্ষামূলক ফলাফল!
অন্য উত্তরগুলি চিন্তাশীল এবং যথাযথ যুক্তিযুক্ত হলেও এগুলি সমস্তই অসম্পূর্ণ বা কেবল অনুমানযোগ্য। ডকুমেন্টেশন যেখানে অস্পষ্ট, সেখানে আমাদের অবশ্যই পরীক্ষা-নিরীক্ষা করা উচিত এবং আমাদের প্রতিটি ক্ষেত্রেই পরীক্ষা করতে হবে।
এই প্রশ্নটি একটি চূড়ান্ত উত্তরের প্রাপ্য, সুতরাং আসুন একটি AVR খুঁজে বের করুন এবং কিছু বিট সেট করা শুরু করুন!
কার্যপ্রণালী
পরীক্ষা করার জন্য, আমি একটি সামান্য আরডিনো (এটিএমইজিএ 328 পি) প্রোগ্রাম তৈরি করেছি যা ...
- কোনও আইএসআর সেটআপ করুন যা কখনই ফিরে আসবে না (
while (1)
)
- আইএসআরকে এমন একটি উত্সকে বরাদ্দ করা হয়েছে যা আমি সফ্টওয়্যারটিতে ট্রিগার করতে পারি (
INT0
কম চলছে)
- অক্ষম বাধা
- সক্ষম এবং ব্যত্যয় ঘটাচ্ছে যাতে এটি মুলতুবি থাকবে
আমি একটি পরীক্ষার বিছানা ব্যবহার করেছি যা বাধা সক্ষম করার পরে একক নির্দেশে একটি এলইডি চালু করবে। পরীক্ষার বিছানায় বিঘ্ন সক্ষম করার বিভিন্ন উপায়ে চেষ্টা করে এবং এলইডি পরীক্ষা করে, আমি বলতে পারি যে সক্ষম করার নির্দেশের পরে নির্দেশটি কার্যকর হয়েছিল কি না।
যদি এলইডি না আসে, তবে আমি জানি যে বাধা সক্ষম করার পরে তত্ক্ষণাত আইএসআর কার্যকর করা হয়েছিল (এবং লকড)।
যদি এলইডিটি আসে, তবে আমি জানি যে পরবর্তী নির্দেশটি আইএসআর ডাকার আগেই কার্যকর করতে দেওয়া হয়েছিল।
ফলাফল
SEI
নির্দেশ (বেস কেস)
কোড:
sei
ফলাফল: LED চালু। নিম্নলিখিত নির্দেশনা কার্যকর করা হয়েছে
OUT
নির্দেশ
কোড:
in r16,0x3f // Get SREG
ori r16,128 // Set I bit
out 0x3f,r16 // Save back to SREG
ফলাফল:
নেতৃত্বে. নিম্নলিখিত নির্দেশনা কার্যকর করা হয়েছে
ST
নির্দেশ
কোড:
clr r29 // Clear Y high byte
ldi r28,0x5f // Set Y low byte to point to SREG
ld r16, Y // Get SREG
ori r16,128 // Set I bit
st Y,r16 // Put SREG
ফলাফল:
নেতৃত্বে. নিম্নলিখিত নির্দেশনা কার্যকর করা হয়েছে
উপসংহার!
প্রশ্ন: অপেক্ষা কি এসইআই নির্দেশাবলীর কোনও বৈশিষ্ট্য বা স্থিতি রেজিস্টার?
উত্তর: মনে হচ্ছে পরিবর্তন I
মধ্যে বিট SREG
থেকে একটি হল 0
একটি থেকে 1
নিম্নলিখিত নির্দেশ পরবর্তী চালানো এমনকি যদি সেখানে একটি মুলতুবি বিঘ্ন, কি নির্দেশ বিট সেট করতে ব্যবহৃত হয় নির্বিশেষে অনুমতি দেবে।
মন্তব্য
এটি আসলে প্রচুর জটিলতার সাথে একটি খুব আকর্ষণীয় প্রশ্নে পরিণত হয়েছিল। আপনি যদি আগ্রহী হন তবে তিনি বিশদটি বিস্তারিতভাবে দেখুন ...
http://wp.josh.com/2016/01/05/different-ways-to-set-i-bit-in-avr-sreg-besides-sei/