السلام عليكم
أخي سبق أن أخبرك الأستاذ الكريم ماجد عباس محمد أن سبب المشكل قد يكون في الكود.
أنت رديت عليه بأن الكود سليم
أخي الكود لا يعني فقط مجموع التعليمات بل كذلك الإعدادات .
في صفحة الاعدادات توجد بعض الخيارات عندما تكون مفعلة Enabled دورها هو عمل ريست للميكروكونترلر إذا صادفته مشاكل .
هي موضوعة لجعل الدوائر أكثر احترافية
لكنها تتطلب مصادر تغذية جيدة وبمواصفات احترافية كالتي يشرحها في هذا الموضوع الأستاذ ماجد جزاه الله خيرا.
عمليا يفضل كثيرون وضع Disabled أمام تلك الخيارات لانها أحيانا تضر أكثر ما تنفع.
راجع أخي إعدادات برنامجك وتأكد من أنها كالتالي :
- بالنسبة لكريستالة 4 ميغاهرتز:

-بالنسبة لكريستالة أكبر من 4 ميغاهرتز:

ويمكن الولوج الى صفحة الإعدادات هكذا:

هذه مجرد ملاحظة وأرجو لك التوفيق .