Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm35f105 тактирование от hsi
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
super_puper
хочу от внутреннего генератора hsi запустить дайте плиз код или наработки или ссылки
использую iar и библиотеку стандартную cmsis
ViKo
Reference Manual, ссылка прямее некуда. В нем RCC.
Сергей Борщ
Цитата(super_puper @ Jul 29 2015, 11:17) *
хочу от внутреннего генератора hsi запустить дайте плиз код

запросто:
Код
void main()
{

}


Цитата(super_puper @ Jul 29 2015, 11:17) *
или ссылки
www.st.com
super_puper
нужен код такого формата.. вот у меня например был рабочий год тактирования от HSE а нужен от HSI
с референс мануалом и поиском граблей я так месяц просижу на этом месте))

Код
/ Сбрасываем клокинг в "0"
  RCC_DeInit();

// Включаем внешний кварц
  RCC_HSEConfig(RCC_HSE_ON);

// Ждём пока устанавливается внешний ВЧ тактовый сигнал
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if(HSEStartUpStatus != ERROR)
  {
    // Внешний тактовый сигнал появился, стабильный
    // разрешаем использование буфера команд
   // FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

    //-------------------------------------------------------------------
    // итак
    //Внешний кварц 25МГц
    //Тактовая частота ядра: 72МГц
    // частота шины PCLK2=72МГц
    // частота шины PCLK1=36МГц
    //-------------------------------------------------------------------

    // Flash 2 wait state
   // FLASH_SetLatency(FLASH_Latency_2);
    // HCLK(core memory and DMA) = SYSCLK
    RCC_HCLKConfig(RCC_SYSCLK_Div1);// bilo 1 HCLK это core memory и DMA) = SYSCLK/1
    
    RCC_PCLK2Config(RCC_HCLK_Div1);// bilo 1 PCLK2 это APB2 переферия PCLK2 = HCLK/1
    //PCLK1 = HCLK/2
    RCC_PCLK1Config(RCC_HCLK_Div2);// bilo 2 PCLK1 это APB1 переферия PCLK1 = HCLK/2
    // ADCCLK = PCLK2/4
  //  RCC_ADCCLKConfig(RCC_PCLK2_Div2);// bilo 6 ADCCLK тактирование ацп от PCLK2/6 (2,4,6,8) но не более 14МГц  

// Выставляем делители / множители частоты тактирования
//   RCC_PREDIV2Config(RCC_PREDIV2_Div5);// bilo 5
//   RCC_PLL2Config(RCC_PLL2Mul_8);// bilo 8

//Разрешаем PLL2
//   RCC_PLL2Cmd(ENABLE);

// Ждём пока устаканится PLL2
  //  while (RCC_GetFlagStatus(RCC_FLAG_PLL2RDY) == RESET)
  //  {}

// PLL2 - устаканился    
// конфигурируем PLL1
  //  RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2, RCC_PREDIV1_Div5);// bilo 5
  //  RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);// bilo 1,9

// Разрешаем PLL
  //  RCC_PLLCmd(ENABLE);

// Ждём готовности PLL
//   while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  //  {}

// Выбираем PLL как источник тактирования системы
//   RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

// Ждём пока PLL не станет клокингом системы
//   while (RCC_GetSYSCLKSource() != 0x08)
//   {}
  }

// RCC_GetClocksFreq(&RCC_ClockFreq);

// Тактирование портов АЦП и USB
//  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |
//                         RCC_APB2Periph_GPIOC |
//                         RCC_APB2Periph_GPIOD |
//                         RCC_APB2Periph_AFIO | //
//                         /*RCC_APB2Periph_ADC1, ENABLE*/ // АЦП тактирование
//                         );

// Выбираем тактирование для USB
// RCC_OTGFSCLKConfig(RCC_OTGFSCLKSource_PLLVCO_Div3);

  // Подключаем выбранное тактирование
// RCC_AHBPeriphClockCmd(RCC_AHBPeriph_OTG_FS, ENABLE);
}
Сергей Борщ
Цитата(super_puper @ Jul 29 2015, 12:25) *
с референс мануалом и поиском граблей я так месяц просижу на этом месте))
"Лучше день потерять, потом долететь за пять минут". Вот я прочитал руководство пользователя и знаю, что при включении процессор всегда тактируется от HSI. То есть для решения вашей задачи - "тактироваться от HSI" ни одной строчки кода не требуется.

Цитата(super_puper @ Jul 29 2015, 12:25) *
нужен код такого формата...
Я не раздаю рыбу, но могу помочь научиться пользоваться удочкой. К тому же этот код использует библиотеки. Они же специально писались для переносимости кода между разными процессорами одним щелчком пальцев. Что, не переносится? tongue.gif

P.S. И, честно говоря, мне неинтересно помогать человеку, который не знает, что предложения начинаются с прописной (заглавной) буквы и так скупится на знаки препинания.
WHALE
Цитата(Сергей Борщ @ Jul 29 2015, 14:48) *
P.S. И, честно говоря, мне неинтересно помогать человеку, который не знает, что предложения начинаются с прописной (заглавной) буквы и так скупится на знаки препинания.


И вдобавок имеющего такой ник.. biggrin.gif
super_puper
Цитата(WHALE @ Jul 31 2015, 14:25) *
И вдобавок имеющего такой ник.. biggrin.gif

ник означает что мои разработки начинаются с банальных вопросов новичка а заканчиваются супер устройствами не имеющими аналогов biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.