আরডুইনো আইডিই #ifdef


13

আমি আমার স্ক্রিচটি আরডুইনো বা এটিটিইনি বা এটিমেগ 328 এ আপলোড করতে আমার আরডুইনো আইডিই ব্যবহার করি। আপনি জানেন যে প্রতিটি ডিভাইসে আলাদা পিনআউট থাকতে পারে। ifdefআমি যে বোর্ডে সংযুক্ত রয়েছি তার উপর নির্ভর করে কি আরডুইনো সংকলক সমর্থন করে?

উদাহরণ স্বরূপ

#ifdef Attiny85
       a=0; b=1; c=2;
#else
       // arduino
       a=9; b=10; c=11;
#endif

উত্তর:


13

হ্যাঁ. এখানে বাক্য গঠন:

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
    //Code here
#endif

আপনি মেগার জন্যও এর মতো কিছু করতে পারেন:

#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
    //Code here
#endif

এটিটিইনের বাস্তবায়নটি সঠিক বলে ধরে নিচ্ছি, আপনার কোডটি এমন হওয়া উচিত:

#if defined (__AVR_ATtiny85__)
       a=0; b=1; c=2;
#else
       //Arduino
       a=9; b=10; c=11
#endif

ইন Arduino.h, __AVR_ATtiny85__ব্যবহৃত হয় (মূলধন T)। যদিও এটি কোনও পার্থক্য করে কিনা তা নিশ্চিত নয়।
জ্যামিতিকাল

2
বিকল্পভাবে 1.5। + আইডিই ব্যবহার করে আপনি যে বোর্ড তৈরি করছেন তার বিরুদ্ধে পরীক্ষা করতে পারেন। দেখুন যাও Arduino-আইডিই-1.5 --- 3 য় পক্ষের-হার্ডওয়্যার-স্পেসিফিকেশন । উদাহরণ "#if সংজ্ঞায়িত (আরডিউইএনও_এভিআর_উইএনও)" বা আরডিউইনো_এভিআর_মিগা 2560 বা আরডিউইএনও_এভিআর_লেওনার্দো, ইত্যাদি ...
এমপিফ্লাগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.