مشکل برنامه نویسی آردوینو

سلام جناب اقای مهندس معین
من یک برنامه نویسی rgb led رو در کتابی دیدم یه قسمت از برنامه را نمیفهمم میشه لطفا توضیح بدین ممنون
1643100922335

سلام دوست عزیز، همونطور که در بسته توضیح دادیم، در ال ای دی های چندتایی مثل ۷ سگمنت و آر جی بی ها، برای اینکه تعداد پایه ها کمتر بشه، یا اونها رو به صورت آند مشترک سیم کشی میکنن و یا کاتد مشترک.
در این قسمت از کد از دستور ifdef استفاده شده که به این معنی هست که اگر شما در جایی از کد اون رو define کرده باشید، اون قسمت از کد اجرا میشه. این دستور شبیه یک if معمولی هست، با این تفاوت که توسط میکرو اجرا نمیشه و هنگام کامپایل کردن، سیستم تصمیم میگیره که این کد رو روی میکرو بریزه یا نریزه.
پس شما اگر در کدتون بنویسید #define COMMON_ANODE ، کامپایلر میفهمه که این کد رو باید روی میکرو بریزه و اگر ننویسید، اون رو اصلا روی میکرو نمیریزه و انگار که اون کد وجود نداره.
هدف از این کاری که کرده هم این هست که شما اگر از ال ای دی آند مشترک استفاده کنید، رنگی که میگیرید، مکمل رنگی که از کاتد مشترک میگیرید نباشه و همیشه همون رنگ رو بگیرید. فرقشون این هست که در یک حالت شما دارید زمان روشن بودن ال ای دی رو مشخص میکنید و در حالت دیگه دارید زمان خاموش بودن ال ای دی ها رو مشخص میکنید که با کم کردن اون از بیشترین حالت که میشه ۲۵۵ سعی کرده که این دو رو یکی کنه.