اطلاعیه

Collapse
No announcement yet.

ریست نرم افزاری AVR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ریست نرم افزاری AVR

    سلام دوستان
    توی کامپایلر GCC کسی میتونه بگه که دستور JUMP به خط اول برنامه (00$) چطوری مینویسند؟
    :read: :read: :read: :read: :read:
    ممنون
    قندیل، تندیس قطره هایی است که تسلیم جاذبه زمین نشدند. "چگوآرا"

    #2
    پاسخ : ریست نرم افزاری AVR

    سلام
    از دیفاین زیر استفاده کنید:

    [code=c]#define RESET() ((void(*)(void))0)()[/code]
    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

    www.intelart.ir


    ساخت کنترلر دما PID فازی با AVR [آموزشی]

    دیدگاه


      #3
      پاسخ : ریست نرم افزاری AVR

      نوشته اصلی توسط Mahdi.Faani
      سلام
      از دیفاین زیر استفاده کنید:

      [code=c]#define RESET() ((void(*)(void))0)()[/code]
      این را خودم قبلا توی پست های بچه ها پیدا کرده بودم :read:
      میخواستم بدونم به صورت اسمبلی چطور میشه این کار ار کرد؟
      :read: :read: :read: :read: :read: :read: :read:
      قندیل، تندیس قطره هایی است که تسلیم جاذبه زمین نشدند. "چگوآرا"

      دیدگاه


        #4
        پاسخ : ریست نرم افزاری AVR

        نوشته اصلی توسط Mohsen_22
        این را خودم قبلا توی پست های بچه ها پیدا کرده بودم :read:
        میخواستم بدونم به صورت اسمبلی چطور میشه این کار ار کرد؟
        :read: :read: :read: :read: :read: :read: :read:
        اینم کد اسمبلی:
        [code=asm]rjmp 0x00[/code]
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازی با AVR [آموزشی]

        دیدگاه


          #5
          پاسخ : ریست نرم افزاری AVR

          سلام به همه
          این شیوه رفتن به ابتدای برنامه باعث بغییر رجیسترها و متغیر های static هم میشه؟(مثل زمانی که سخت افزاری ری ست میکنیم)
          ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
          شهید دکتر مصطفی چمران
          اللهم صل علی محمد و ال محمد و عجل فرجهم
          ; C is not for children

          دیدگاه


            #6
            پاسخ : ریست نرم افزاری AVR

            نوشته اصلی توسط مهدی رهی
            سلام به همه
            این شیوه رفتن به ابتدای برنامه باعث بغییر رجیسترها و متغیر های static هم میشه؟(مثل زمانی که سخت افزاری ری ست میکنیم)
            نخیر مقدار رجیسترها تغییر داده نمیشه مگه اینکه در ابتدای برنامه مقدار دهی بشن...اگه میخاید مثل ریست سخت افزاری ریست نرم افزاری صورت بدید یا باید با یه پین میکرو پین ریست سخت افزاری رو با یه ترانزیستور سوئیچ کنید (که کار جالبی نیست!!) یا اینکه با استفاده از واچداگ و ایجاد یه حلقه میکرو رو ریست کنید...اینجوری مثل حالت سخت افزاری ریست میشه
            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

            www.intelart.ir


            ساخت کنترلر دما PID فازی با AVR [آموزشی]

            دیدگاه


              #7
              پاسخ : ریست نرم افزاری AVR

              نوشته اصلی توسط Mahdi.Faani
              نخیر مقدار رجیسترها تغییر داده نمیشه مگه اینکه در ابتدای برنامه مقدار دهی بشن...اگه میخاید مثل ریست سخت افزاری ریست نرم افزاری صورت بدید یا باید با یه پین میکرو پین ریست سخت افزاری رو با یه ترانزیستور سوئیچ کنید (که کار جالبی نیست!!) یا اینکه با استفاده از واچداگ و ایجاد یه حلقه میکرو رو ریست کنید...اینجوری مثل حالت سخت افزاری ریست میشه
              خوب اگر مقدار پشته هم تغییر نکنه که خیلی مشکل ساز میشه پرش به خط صفر؟؟
              اینجوری با اولین return به جایی میریم که آخرین ذخیره سازی آدرس رو توی پشته داشتیم؟
              درسته؟

              ممنون بابت پاسختون
              ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
              شهید دکتر مصطفی چمران
              اللهم صل علی محمد و ال محمد و عجل فرجهم
              ; C is not for children

              دیدگاه


                #8
                پاسخ : ریست نرم افزاری AVR

                بله همینطوره...ببینید ابتدای حافظه فلش هر دو بایت واسه یه وقفه رزرو شده و با رخداد وقفه پرش میشه به اون آدرس و بعد از اونجا پرش میشه به روتینی که شما واسه اون وقفه نوشتید...آدرس 0 مربوط به ریست هست یعنی وقتی میکرو شروع به کار میکنه وارد این آدرس میشه و از اونجا پرش میکنه به ادرس روتینی که واسه تابع main نوشتید...پس بهتره که از این دستور پرش وقتی استفاده کنید که درون تابع یا سرویس وقفه نباشید و اگه میخاید که مثل حالت سخا افزاری ریست بشه هم که تو پست قبلی ت وضیح دادم...
                تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                www.intelart.ir


                ساخت کنترلر دما PID فازی با AVR [آموزشی]

                دیدگاه


                  #9
                  پاسخ : ریست نرم افزاری AVR

                  اگه خیلی این موضوع واجبه میتونید از حلقه و واچ داگ استفاده کنید و یا اینکه از ایکس مگا استفاده کنید که ریست نرم افزاری داره

                  دیدگاه

                  لطفا صبر کنید...
                  X