نوشته اصلی توسط
relax021
دوست عزیز من همچیو چک کردم درست بود فقط میدونم که آردوینو d1 جواب گو این حجم دستور نیست فقط یک راه برای ریست اوتماتیک میخوام حالا چه با یک سخت افزار دیگه یا با خود میکرو مهم نیست فقط ریست بشه و مهم نیست که دستورات از سر اجرا میشن فقط نباید هنگ کنن خواهش کمک کنید
میتونید بعد از هر بار اجرای برنامه ، میکرو رو ریست کنید یا اینکه برنامه رو داخل حلقه بزارید و بعد از مثلا 30 بار اجرا ، میکرو رو ریست کنید یا اینکه تایمر رو فعال کنید و در زمانهای خاص میکرو رو ریست کنید .
برای ریست نرم افزاری میتونید از کتابخونه ای که لینکش رو در زیر گذاشتم استفاده کنید یا از تابعی که در زیر قرار دادم استفاده کرده و برای راه اندازی مجدد برنامه ، صداش کنید .
لینک کتابخانه : https://github.com/WickedDevice/SoftReset
کد:
void software_Reset() // Restarts program from beginning but does not reset the peripherals and registers
{
asm volatile (" jmp 0");
}
لینک منبع