Easyelectronics.ru

Электроника для всех
Текущее время: 22 мар 2019, 01:41

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: О том как иногда полезно внимательно читать мануал
СообщениеДобавлено: 25 мар 2018, 14:39 
Старожил

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

Если в обработчике стоит условие:
Код:
if (CLK->CSSR & CLK_CSSR_CSSD)
   {
           CLK->CKDIVR &= (uint8_t)(~CLK_CKDIVR_HSIDIV);   
     CLK->CSSR &=(~CLK_CSSR_CSSD);
   }


Фиг оно отключит делитель (F=16 МГц), выскочит из обработчика и частота останется F/8 = 2МГц

Нужно ждать флага AUX

и соответственно обработчик будет выглядеть так:

Код:
if (CLK->CSSR & CLK_CSSR_CSSD)
   {   
     CLK->CSSR &=(~CLK_CSSR_CSSD);
   }
   
if (CLK->CSSR & CLK_CSSR_AUX)
{
      CLK->ICKR |= CLK_ICKR_HSIEN;  // <=== Можно не ставить, оно и так уже включено
      CLK->CKDIVR &= (uint8_t)(~CLK_CKDIVR_HSIDIV);
}   


Сам код настройки и переключения в основной программе:
Код:
//-------------Запуск в режиме HSI------------------------
     CLK->ICKR |= CLK_ICKR_HSIEN; //внутренний генератор на 16MHz
     CLK->CKDIVR &= (uint8_t)(~CLK_CKDIVR_HSIDIV); //делитель вырубить
   //------------Конфигурируем HSE -------------------------   
      CLK->SWCR |=CLK_SWCR_SWEN;
      CLK->SWR = 0xB4;  // как будет готов (HSERDY=1) переключится сам, ждать где то 2000 тактов
      CLK->ECKR |= CLK_ECKR_HSEEN;
   //-----------Настраиваем аварийное переключение на HSI---   
      CLK->CSSR |= CLK_CSSR_CSSEN;
      CLK->CSSR |= CLK_CSSR_CSSDIE; //прерывание включено    


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О том как иногда полезно внимательно читать мануал
СообщениеДобавлено: 25 мар 2018, 14:49 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1166
Откуда: Ижевск
хорошо...

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О том как иногда полезно внимательно читать мануал
СообщениеДобавлено: 26 мар 2018, 13:10 
Заглядывает иногда

Зарегистрирован: 04 окт 2017, 22:23
Сообщения: 109
Спасибо! может пригодится.....


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

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


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

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


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

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

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