Easyelectronics.ru

Электроника для всех
Текущее время: 25 мар 2019, 17:23

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Активация AWU STM8L101 - или баллада о мануалах :)
СообщениеДобавлено: 02 дек 2018, 14:53 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 859
В очередной раз наступил на грабли, ну и решил поделится....

Кто работал с простыми камнями STM8 помнит, что активация режима AWU (Active Halt) там простая до безобразия.
Выставляем пред делитель, множитель, можно пониженное потребления памяти врубить и готово:

Код:
FLASH->CR1 &=(~FLASH_CR1_HALT) | FLASH_CR1_AHALT; //врубаем микропотребление памяти
AWU->APR &=(~0x3F) | 0x25;
AWU->TBR |=0x11;
AWU->CSR |=AWU_CSR_AWUEN ;   //разрешить прерывание.
_asm("halt");  //уснуть


C STM8L все оказалось интересней.
В самом начале в описании контроллера сказано, типа все пучком LSI врубается автоматом !!!
все что вам надо сделать (по тексту RM0013)
Вложение:
AWU.jpg
AWU.jpg [ 101.41 Кб | Просмотров: 211 ]

Делаю все как написано

Код:
AWU->APR &=(~0x3F) | 0x25;
AWU->TBR |=0x11;
AWU->CSR |=AWU_CSR_AWUEN ;   //разрешить прерывание.
_asm("halt");  //уснуть


В обработчике одна единственная строчка дабы сбросить флаг прерывания:
Код:
ifdef _COSMIC_
@far @interrupt void AWU_IRQHandler(void)
#else /* _RAISONANCE_ */
void AWU_IRQHandler(void) interrupt 4
#endif /* _COSMIC_ */
{
(AWU->CSR & AWU_CSR_AWUF);
}

(ясное дело на измерение частоты LSI забиваю так как нефиг) и получаю - ничего...
Поперся на форум поддержки STM, увидел не лестные отзывы в адрес составителей RM0013 и упоминание о BEEP регистре, который совмещен со счетчиком AWU.
Читаю мануал еще раз с зада на перед и нахожу вот такую штуку.
Вложение:
AWU2.jpg
AWU2.jpg [ 62.93 Кб | Просмотров: 211 ]

Говорю себе да ну нафиг....
Включаю в инициализации портов строчку:
CLK->PCKENR |=CLK_PCKENR_AWU; // Включили счетчик AWU

Ну вот теперь все заработало...

P\S арбайтен теперь контроллер в перерывах между спячками :) выводит на экран LCD фигню и опять дрыхнуть уходит, потребление удалось довести до среднего значения 0.4мА без выключения дисплея (изображение на экран выводится один раз в 0.5 сек)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB