با سلام خدمت دوستانژ
هنگامي كه ميكرو با تايمرwd ريست ميشه كدام متغييرها و ورودي هاي ميكرو صفر ميشه آيا ديتاي rx يا tx هم ريست ميشه؟اگه تغذيه ميكرو قطع كنيم چه فرقي با عملكرد ريست كردن ميكرو داره؟
با سلام خدمت دوستانژ
هنگامي كه ميكرو با تايمرwd ريست ميشه كدام متغييرها و ورودي هاي ميكرو صفر ميشه آيا ديتاي rx يا tx هم ريست ميشه؟اگه تغذيه ميكرو قطع كنيم چه فرقي با عملكرد ريست كردن ميكرو داره؟
هنگامی که عمل ریست رخ می دهد متغیر ها و همینطور دیتای rxو tx ریست می شود.منظور شما را از ورودی ها صفر میشه را نفهمیدم.
اما سوال دوم :ریست خارجی با قطع تغذیه چندان تفاوتی نداره اما بنا بر دلایلی بهتر است از ریست استفاده کنی.
سلام
ببين دوست عزيز وقتي ميكرو ريست ميشه يعني اينكه ميكرو ميره از بردار ريست برنامه شروع با كار ميكنه!! متغييرهايي كه در برنامه تعريف ميكني مقدراشون ديگه نامعتبر و صفر ميشه. ولي يك فرقي با حالت خاموش كردن ميكرو داره!! شما وقتي يك ميكرو رو خاموش ميكني تمامي متغيرهاي شما مقدارشون رو از دست ميدن!!چرا كه متغيرها هنگام تعريف و استفاده از RAM استفاده ميكنن و رم هم موقع قطع برق اطلاعاتش پاك ميششه!! مگر اينكه اين متغير جنسش از نوع EEPROM باشه!!
ولي در حالت ريست در هرشرايطي (با WD يا Brounout و ...) سيستم خاموش نميشه پس اطلاعات رم پاك نميشه!! RX و TX هم از RAM استفاده ميكنن پس پاك نخواهند شد.
تو بعضي از كامپايلرها يكسري دستورات بصورت دارند كه ميتونه وقتي ميكرو ريست شد تمامي مقدار رم رو صفر كنه!! مثلا تو بسكام ($noram) تا جائي كه يادمه!!
موفق باشي!
با سلام
دوست عزیز شما اول گفتید که مقادیر متغیر ها پاک میشه ولی بعد گفتی که با ریست شدن اطلاعات رم پاک نمیشه پس این مقادیر متغیر ها کجا ذخیره میشن؟؟
دقت كنيد دوست عزيز گفتم كه متغييرهايي كه تعريف كرديد!!نه همه رجيسترها....
اطلاعات همه در ram ذخيره ميشن. رم با اجراي يك دستور پاك ميشه و يا با از دست دادن انرژي.نه با رسيت شدن! درحين ريست شدن فقط بردارش رو ريست قرار ميگيره!! به دقت به معماري ميكروگنترلرها دقت كنيد. ببينيد كه ram و فلش و رجيسترها و ... چطور با يكديگر ارتباط دارند و چطوري اطلاعات درون اونها بارگذاري ميشه!!
موفق باشي.
دوست عزيز اگه شما اطلاعات بهتري داري خوب در اختيار ديگران بذار نه اينكه بحث و جدل كني!! واقعا آيا شما سوال ميپرسي و نميدوني و يا اينكه هدف ديگه اي داري!!!منظورت رو واضح بگو!! اينجا جاي اينكارا نيست!!
خوبه كه ديتا شيت مطالعه ميكني و از بابت تذكرتون ممنون!!
منظور از ALL Registers طبق جملات شما و ديتا شيت، منظورشون I/O Registers هست.پس بدقت توجه كن:
فضاي SRAM به سه بخش عمده تقسيم ميشه. 1- I/O Registers و 2- Register File و يا رجيسترهاي همه منظوره و 3- Internal Sram و يا همون رمي كه همه ميشناسيم.
پس لازمه بدوني كه I/O Registers مربوط به شامل 64تا حافظه است كه براي SPI و رجيستر كنترل و ساير توابع I/O هست. و اين ريست و مقدار اوليه خودشون رو گرفتن ، مربوط به اين رجيستر ها ميشه!!
پس ALL Registers معني اين رو نميده كه همه SRAM رو به مقدار اوليه برگردونه(طبق ديتا شيت)!!