حرف شما کاملا درسته اما چون پایه های RX و TX رو لازم دارم پس 2 بیت از پورت D رو از دست میدم و مجبورم از پین PB0 و PB1 بخونمشون ، یعنی digital pin 2 تا digital pin 9 رو استفاده کنم
برای خوندن هم طبق فرمایش خودتون بهتره AND کنم که اشتباهی توی خوندن پیش نیاد
مثل کد زیر که به نظرم کاری که من میخوامو انجام میده و موقع خوندن digital pin 2 کم ارزشترین بیت و digital pin 9 پر ارزشترین بیت میشه :
کد:
mynumber = ((PIND & 0xFC) >> 2) | ((PINB & 0x03) << 6);
تصویر ATMEGA8 و یا ATMEGA328 رو هم پیوست کردم که تحلیل قضیه راحت تر بشه
نظرتون چیه؟ درسته؟