Easyelectronics.ru

Электроника для всех
Текущее время: 12 ноя 2018, 23:33

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

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

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

Если в обработчике стоит условие:
Код:
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
Сообщения: 991
Откуда: Ижевск
хорошо...

_________________
Attiny13aПо20р.


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

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


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

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


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

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


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

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

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