نمایش نتایج: از 1 به 10 از 10
Like Tree3 لایک
  • 2 Post By Ahmad110
  • 1 Post By masstor

موضوع: سوال درباره آردوینو

  1. #1
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    9

    Unhappy سوال درباره آردوینو

    با سلام و خسته نباشید
    شاید سوالم یکم مسخره به نظر بیاد
    وقتی برد آردوینو هنگ میکنه اگر پایه ای مثلا gpio 13 یک (HIGH) باشد صفر (LOW) میشود مثلا اگر یک ال ای دی روشن باشد وقتی برد هنگ کرد این ال ای دی خاموش میشود یا روشن باقی میماند
    سوال دوم اینه که اگر روشن میماند و خاموش نمیشود برای برد آردوینو d1 نمیشه تایمر واچ داگ نوشت بهترین راه برای زمانی که هنگ میکند چیست؟ (میخواهم به طور اوتماتیک ریستارت شود )
    خیلی ممنون میشم اگر کمکم کنید خیلی واجبه

  2. #2
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط relax021 نمایش پست ها
    با سلام و خسته نباشید
    شاید سوالم یکم مسخره به نظر بیاد
    وقتی برد آردوینو هنگ میکنه اگر پایه ای مثلا gpio 13 یک (HIGH) باشد صفر (LOW) میشود مثلا اگر یک ال ای دی روشن باشد وقتی برد هنگ کرد این ال ای دی خاموش میشود یا روشن باقی میماند
    سوال دوم اینه که اگر روشن میماند و خاموش نمیشود برای برد آردوینو d1 نمیشه تایمر واچ داگ نوشت بهترین راه برای زمانی که هنگ میکند چیست؟ (میخواهم به طور اوتماتیک ریستارت شود )
    خیلی ممنون میشم اگر کمکم کنید خیلی واجبه
    بهترین راه حل مشکل برنامه و طراحی سخت افزار هستش تا مشکل هنگ کردن میکرو رو از بین ببرید . وقتی میکرو هنگ کنه هیچ قسمتی از میکرو کار نمیکنه که بخواید اتوماتیک ریستش کنید .

  3. #3
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    9
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    بهترین راه حل مشکل برنامه و طراحی سخت افزار هستش تا مشکل هنگ کردن میکرو رو از بین ببرید . وقتی میکرو هنگ کنه هیچ قسمتی از میکرو کار نمیکنه که بخواید اتوماتیک ریستش کنید .
    درود دوست عزیز ممنون که جواب دادین سوال اولم بخاطر این بود که اگر پایه صفر بشه با یک سخت افزار مثل رله یا یک میکرو این کار میشه کرد ولی اگر برد در همون حالت اولیه بمونه دیگه نمیشه کاریش کرد
    شما راه حل دیگه ای دارین؟؟

  4. #4
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط relax021 نمایش پست ها
    درود دوست عزیز ممنون که جواب دادین سوال اولم بخاطر این بود که اگر پایه صفر بشه با یک سخت افزار مثل رله یا یک میکرو این کار میشه کرد ولی اگر برد در همون حالت اولیه بمونه دیگه نمیشه کاریش کرد
    شما راه حل دیگه ای دارین؟؟
    ممکنه هم پایه صفر نشه چون میکرو هنگام هنگ ، فریز میشه . بهترین راه اینه که دنبال جواب این سئوال باشید : چرا باید میکرو هنگ کنه ؟
    طراحی درست pcb ، نوشتن برنامه استاندارد و انتخاب سخت افزار اورجینال مشکل رو حل میکنه .

  5. #5
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    9
    دوست عزیز من همچیو چک کردم درست بود فقط میدونم که آردوینو d1 جواب گو این حجم دستور نیست فقط یک راه برای ریست اوتماتیک میخوام حالا چه با یک سخت افزار دیگه یا با خود میکرو مهم نیست فقط ریست بشه و مهم نیست که دستورات از سر اجرا میشن فقط نباید هنگ کنن خواهش کمک کنید

  6. #6
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط 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");  
    
    }
    لینک منبع

  7. #7
    Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    Somewhere in the milky way galaxy
    نوشته ها
    89
    با سلام،
    دوست عزیز، بهترین راه استفاده از همان watchdog است که فرمودین، فقط باید از یک میکرو یا برد آردوینو دیگه استفاده کنید، به این صورت که در loop کد برنامه اصلی در تایم اینتروالهای متناوب از یک خروجی خاص سیگنال high/low ارسال کنید و خروجی مورد نظر را به یکی از ورودیهای میکرو دیگر متصل نمایید تا در صورت تاخیر در دریافت سیگنال با مکانیزمی_ مثل اتصال پین ریست_ برد اصلی شما را ریست کند.
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Mar 2017
    نوشته ها
    9
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    میتونید بعد از هر بار اجرای برنامه ، میکرو رو ریست کنید یا اینکه برنامه رو داخل حلقه بزارید و بعد از مثلا 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");  
    
    }
    لینک منبع
    دوست عزیزززز خیلییی ممنوننننن مشکلم حل شد
    چقد خوبه آدم یکم خلاقیت داشته باشهههه
    تشکررر

  9. #9
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    2
    نقل قول نوشته اصلی توسط relax021 نمایش پست ها
    دوست عزیزززز خیلییی ممنوننننن مشکلم حل شد
    چقد خوبه آدم یکم خلاقیت داشته باشهههه
    تشکررر
    دوست عزیز چطور حل شد لطفا بگید منم همین مشکل رو دارم

  10. #10
    Junior Member
    تاریخ عضویت
    Jul 2018
    نوشته ها
    9
    نقل قول نوشته اصلی توسط emad01 نمایش پست ها
    دوست عزیز چطور حل شد لطفا بگید منم همین مشکل رو دارم
    3 راه در این مطلب گفته شده. مشکل الان کجاست؟

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO