سلام
میخواستم برای stm8 halt Mode فعال کنم که توان کمتری مصرف کنه و فقط با یک وقفه خارجی از این حالت خارج بشه. داخل تابع وایل هم از halt(); استفاده کردم ولی جریان برد تغییر خاصی نکرد.
سلام در پوشه AWU_ActiveHaltMode سمپلهای شرکت ST یک مثال برای رفتن به حالت کم مصرفی halt و ادامه اجرا کد با وقفه خارجی قرار داد. این سمپل رو من قبلا با stm8s003p4f6 تست کردم و جریان مصرفی میکرو رو از 4.5 میلی امپر در حالت اجرای کد به زیر 1 میلی امپر کاهش میده و اگر رگولاتور داخلی و اسیلاتور HSE هم خاموش کنین تا 50 میکرو آمپر کاهش پیدا میکنه، البته شماره میکرو رو کامل نگفتین اگر سری STM8L باش که مخصوص low power هست حتی تا زیر میکروآمپر هم میتونه پایین بیاد.
این جداول در قسمت current consumption دیتاشیت میکروکنترلرها به تفکیک peripheral و cpu ذکر شده.
اگر تفاوتی در جریان کشی میکرو کنترلر حس نکردین این کارها رو انجام بدین:
-
از صحت اندازه گیری با مولتی متر اطمینان حاصل کنین و فقط جریان میکروکنترلر رو بسنجین نه کل برد رو یعنی این نقطه :
-
از رفتن به حالت halt و خارج نشدنش اطمینان حاصل کنین، به این صورت که چشمک زن LED در while قرار بدین و قبل و بعد قرار دادن دستور رو مقایسه کنین.
اگر تو حالت دیباگ کردن داری چک میکنی ممکنه جواب نگیری
توی سری stm32 وقتی تو حالت دیباگ بخش های مختلف کم مصرف رو میخوای بررسی کنی بصورت خودکار حالت کم مصرف رو بدون اثر میکنه تا بیباگ بهتر انجام بشه البته راه برای غیر فعال کردنش هست
ممکنه توی stm8 هم همینجور باشه
سلام جناب مهندس پورخلیلی
شما برای بنده خیلی محترم هستید
سلام ممنون نظر لطفته، نکته خوبی بود فقط یه موضوعی هست تو stm32 وقتی به مد standby بره پورت swd هم فکر میکنم غیر فعال بشه، چون برای من ارتباط قطع میشد و پورت رو جدا میکردم اندازه میگرفتم.
نو مد standby تست هارو با JTAG 5 pin انجام دادم و مشکلی نداشت
فقط بعد بیدار شدن میکرو (ریست شدن) دلیل ریست رو low power نشون نمیداد که برای همین من از بررسی فلگ stb استفاده کردم