پورت های D0 تا D7 اردویینو یعنی همون 8 تا پین اول، 8 تا پین Port D هستن. 8 تا پین کامل در دسترس هستن.


اگه میخوای جدا جدا بخونی تو آردویینو بلد نیستم تو همون اتمل استودیو بلدم !

برای اینکه یه عدد رو از دو تا پورت بخونی، به این روش عمل کن : (این روش مال اتمل استودیوه نمیدونم چجوری تو آردویینو میشه نوشتش)
فرض کنیم عدد 8 بیتی مورد نظر ما، اینطوری قرار گرفته. 4 بیت اول (4 بیت کم ارزش) اون روی پین های 0 تا 3 پورت B و چهار بیت دیگه ش روی پین های 0 تا 3 پورت C
حالا یه بایت تعریف میکنیم. (کاراکتر)
بایت برابر میشه با (کل پورت B) + (کل پورت C که 4 بار به سمت چپ شیفت شده)
تموم !

u_int8 Number
Number = PINB || (PINC << 4)

البته باید توجه کرد که بقیه پین های پورت B صفر باشن. وگرنه جمع میشن ! اگر اینطوری شده، میتونی پورت بی رو با یه 0x0F اند کنی. اینطوری همه ی 4 بیت با ارزشش صفر میشن.

اگر کمی پیچیده شد بگو بیشتر توضیح بدم