Перейти к содержанию
    

STM8 не отключается LSE

Коллеги, может кто сталкивался.

Пример:

1. Включаем RTC от LSE

2. Прошиваем.

3. Не снимая питания убираем строчку в коде включения RTC от LSE.

4. Прошиваем.

 

И чудо LSE работает!!!!!!!!

При этом CLK_ECKR_LSEON = 0, а CLK_ECKR_LSERDY = 1 !!!

 

И сколько не сбрасывай контроллер все равно. работает.

 

Как только передернешь питание все встает на свои места, как и положено CLK_ECKR_LSEON = 0, а CLK_ECKR_LSERDY = 0 и LSE не работает.

 

Где может быть разгадка ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Включаем RTC от LSE

2. Прошиваем.

3. Не снимая питания убираем строчку в коде включения RTC от LSE.

4. Прошиваем.

Из вашего описания я ничего не понял.

У вас есть микроконтроллер с пустой флешкой. Каким-то образом вы включаете в нем RTC. Потом что-то в него заливаете.

Теперь немного меняете исходники. Снова что-то заливаете в контроллер.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из вашего описания я ничего не понял.

У вас есть микроконтроллер с пустой флешкой. Каким-то образом вы включаете в нем RTC. Потом что-то в него заливаете.

Теперь немного меняете исходники. Снова что-то заливаете в контроллер.

 

Имеем:

IAR, ST-LINK, STM8L-DISK....

Минимальный код:

CLK_LSEConfig(CLK_LSE_ON);

while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);

CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);

.... инициализация RTC или LCD не важно( CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); )

 

Далее убираю:

CLK_LSEConfig(CLK_LSE_ON);

while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);

CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);

 

Снова заливаю...

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где может быть разгадка ?

Сразу оговорюсь, что на STM8 не приходилось поднимать LSE, работал с теми процами, где LSE нет.

Но не понимаю, что Вас смутило в описании ситуации.

Вы запустили LSE. Теперь он должен работать, пока Вы его принудительно не выключите или пока не исчезнет питание (включая батарейку).

Иначе получилось бы, что часы останавливались по каждому ресету.

А когда Вы выключаете питание (а батарейки видимо нет), то генератор благополучно останавливается.

При каждом старте надо проверять, работает ли генератор. Если уже работает - укороченная процедура инициализации часов.

А если стоит, то пытаемся запустить, ждём готовности, и только потом продолжаем инициализацию.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Читаем ref man например на STM8L151 (RM0031) страница 92

The LSE crystal is switched on and off using the LSEON bit in the external clock register

(CLK_ECKCR). It is also automatically switched on when it is selected as RTC, CCO, Beep

or system clock source.

Ваш случай?

Ни и как сказал amiller здравый смысл подсказыает что так и должно быть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, но при сбросе все регистры STM устанавливаются в дефолт, т.е. LSE и вся периферия отключены...

Так почему должны работать LCD или RTC ?

 

-The LSE crystal is switched on and off using the LSEON bit in the external clock register

(CLK_ECKCR). It is also automatically switched on when it is selected as RTC, CCO, Beep

or system clock source.

Это как раз не тот случай т.к. - CLK_ECKR_LSEON = 0, а CLK_ECKR_LSERDY = 1 !!!

Т.е. регистр показывает что LSE OFF но по факту он работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...