با سلام بر دوستان
میخوام 160 بایت اطلاعات رو هنگامی که تغذیه قطع میشه در eeprom ذخیره کنم. اومدم یه خازن 4700uf در تغذیه میکرو گذاشتم (با یه دیود شاتکی) ال وقای تغذیه قطع میشه، میکرو بتونه روشن بمونه و اطلاعات رو ذخیره کنه. و به کمک ADC تغذیه رو مداوم چک میکنم تا وقتی تغذیه از یه مقداری کم شد اطلاعات رو ذخیره کنه. ولی فقط 6 بایت از اطلاعات رو میتونه در eeprom ذخیره کنه. راه حلی به نظرتون میرسه؟ میشه از مدهای sleep برای کم کردن مصرف میکرو استفاده کرد؟ ممنون میشم اگه راهنماییم کنین چون واقعا کارم لنگه همین موضوع هست.
یه سوال دیگه هم راجع به پورت G میکرو atmega64 دارم. من این پورت رو بصورت ورودی تعریف کردم، مقاومت pull down هم گذاشتم ولی فقط از پین اول این پورت میتونم جواب بگیرم یعنی PG.0 واز بقیه پین ها نتونستم جواب بگیرم. atmega103 compatibility رو هم غیرفعال کردم، پورت رو هم بصورت بیتی نمیخونم مثلا با دستور زیر یک بودن پین PG.1 رو چک میکنم:
if(PING &0x02==1)
ولی جواب نمیگیرم. به نظرتون مشکل از کجاست
میخوام 160 بایت اطلاعات رو هنگامی که تغذیه قطع میشه در eeprom ذخیره کنم. اومدم یه خازن 4700uf در تغذیه میکرو گذاشتم (با یه دیود شاتکی) ال وقای تغذیه قطع میشه، میکرو بتونه روشن بمونه و اطلاعات رو ذخیره کنه. و به کمک ADC تغذیه رو مداوم چک میکنم تا وقتی تغذیه از یه مقداری کم شد اطلاعات رو ذخیره کنه. ولی فقط 6 بایت از اطلاعات رو میتونه در eeprom ذخیره کنه. راه حلی به نظرتون میرسه؟ میشه از مدهای sleep برای کم کردن مصرف میکرو استفاده کرد؟ ممنون میشم اگه راهنماییم کنین چون واقعا کارم لنگه همین موضوع هست.
یه سوال دیگه هم راجع به پورت G میکرو atmega64 دارم. من این پورت رو بصورت ورودی تعریف کردم، مقاومت pull down هم گذاشتم ولی فقط از پین اول این پورت میتونم جواب بگیرم یعنی PG.0 واز بقیه پین ها نتونستم جواب بگیرم. atmega103 compatibility رو هم غیرفعال کردم، پورت رو هم بصورت بیتی نمیخونم مثلا با دستور زیر یک بودن پین PG.1 رو چک میکنم:
if(PING &0x02==1)
ولی جواب نمیگیرم. به نظرتون مشکل از کجاست
دیدگاه