سلام
وقتی در Atmel studio بخش init(برای مثال serial init) را در خود تابع main انجام میدم میکرو بدون هیچ مشکلی درست کار میکنه ولی وقتی به صورت یه متد در main صدا زده میشه میکرو اصلا درست کد هارو اجرا نمیکنه در تصویر هر دو نوع کد رو نوشتم کد بالایی هیچکاری میکرو انجام نمیده و کلا میکرو مثل این میمونه که اصلا پروگرام نشده ولی کد پایینی کار میکنه و میکرو درست انجام میده
مشکل چیه مهندس معین
سلام دوست عزیز، مشکل عجیبی هست. تنظیمات کامپایلر قسمت Optimization Level روی چند هست؟ لول رو تا حد ممکن کم کنید ببینید باز هم همین مشکل وجود داره یا نه. اگر نشد، متغیرهای داخل اون تابع رو هم از نوع volatile تعریف کنید ببینید تغییر بوجود میاد یا نه.
مهندس معین Optimiz کامپایلر رو روی none میزارم و پروگرام میکنم دیگ هیچکودوم کار نمیکنه میکرو رو هم تعویض کردم بازم درست نشد ولی وقتی متد رو inline میکنم درست کار میکنه. ولی خب نمیشه همیشه من از inline استفاده کنم واسه متد ها .