আমি একজন ব্যবহার যাও Arduino Uno এবং ইতিমধ্যে একটি ব্যাখ্যা অনুযায়ী ডিজিটাল পিনের 2, 3, 4 ও 5 উপর বিঘ্নিত সঙ্গে কাজ করার এটি সেট আপ 1 আমি খুঁজে পাওয়া যায়নি।
void setup()
বিঘ্ন সেট আপ করতে নিম্নলিখিত কোড রয়েছে।
//Endable Interrupts for PCIE2 Arduino Pins (D0-7)
PCICR |= (1<<PCIE2);
//Setup pins 2,3,4,5
PCMSK2 |= (1<<PCINT18);
PCMSK2 |= (1<<PCINT19);
PCMSK2 |= (1<<PCINT20);
PCMSK2 |= (1<<PCINT21);
//Trigger Interrupt on rising edge
MCUCR = (1<<ISC01) | (1<<ISC01);
এবং এখন, আইএসআর (পিসিআইএনটি 2_ভেেক্ট) ফাংশনটি প্রতিটি বাধাবিঘ্নে ট্রিগার করা হয়। এটি একটি কবজির মতো কাজ করে। আমার প্রশ্নটি হল, সর্বাধিক / দ্রুততম উপায়টি কী, কোন পিনটি ট্রিগার করেছিল?
আমি রেতে কিছু পেয়েছি : আইএসআর (পিসিআইএনটি 2_ভেক্ট) ব্যবহার করা ভাল বা পিন 2, 3 এ সংযুক্তি ইন্টারট্রপ্ট? , তবে আমি কোডটি বুঝতে পারি না এবং এটি বাক্স থেকে কার্যকর হয় না। তবে এটি চিত্তাকর্ষক দেখাচ্ছে ...
সমাধান কি?
[২] http://arduino.cc/forum/index.php/topic,72496.15.html#last পোস্ট
সম্পাদনা:
এই মুহুর্তে, আমি ইনপুট পিন রেজিস্টার থেকে পিনের অবস্থাটি পড়ছি:
if (PIND & 0b00000100)
Serial.println( "PIN 2" );
if (PIND & 0b00001000)
Serial.println( "PIN 3" );
if (PIND & 0b00010000)
Serial.println( "PIN 4" );
if (PIND & 0b00100000)
Serial.println( "PIN 5" );
শেষ পর্যন্ত, আমি পিনগুলিতে বাধাগুলি গণনা করতে চাই। তবে আমি কীভাবে আশ্বস্ত করতে পারি, দুবার কোনও গণনা নেই?