Чт июл 19, 2018 19:52:45
Чт июл 19, 2018 20:03:43
Чт июл 19, 2018 21:13:08
Чт июл 19, 2018 22:39:59
Чт июл 19, 2018 22:52:15
Чт июл 19, 2018 23:48:36
Пт июл 20, 2018 00:32:09
Пт июл 20, 2018 05:54:49
Пт июл 20, 2018 06:09:19
Пт июл 20, 2018 07:28:21
// ---------- Тактирование ----------
RCC->CR = RCC_CR_HSITRIM(16) | RCC_CR_HSION | RCC_CR_HSEON; //Включаем HSE = 16 MHz
while(!(RCC->CR & RCC_CR_HSERDY));
//Задаём источники тактирования и делители
// SYSCLK = 72 МГц, USB = 48 МГц, PCLK1 = 36 МГц, PCLK2 = 72 МГц, ADC = 12 МГц
RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_USBPRE_1d5 | RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC_HSE | RCC_CFGR_ADCPRE_DIV6 |
RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_HSI;
RCC->CR = RCC_CR_HSITRIM(16) | RCC_CR_HSION | RCC_CR_HSEON | RCC_CR_PLLON; // Включаем PLL
while(!(RCC->CR & RCC_CR_PLLRDY));
//Переключаемся на PLL с установленными ранее делителями
RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_USBPRE_1d5 | RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC_HSE | RCC_CFGR_ADCPRE_DIV8 |
RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_PLL;
RCC->CR = RCC_CR_HSITRIM(16) | RCC_CR_HSEON | RCC_CR_PLLON; //Выключаем HSI
// Конфигурация системного таймера на 200 Гц
SysTick->LOAD = CPU_FREQ/200-1;
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk;
// Конфигурация TIM2 для определения таймаута в UART
TIM2->PSC = 128-1; // 72 МГц / 128 = 1,78 мкс
TIM2->CCR1 = 9; //
TIM2->CR1 = TIM_CR1_CEN;
TIM2->EGR = TIM_EGR_UG;
TIM2->SR =0;
// Конфигурация TIM3 для функций Delay
TIM3->PSC = 36000-1; // 0.5 мс
TIM3->EGR = TIM_EGR_UG;
TIM3->SR =0;
//Конфигурация TIM4 для формирования строба схемы выборки-хранения
TIM4->PSC = 0; // 13.9 нс
TIM4->ARR = 80; // Длительность (80-74)*13.9 = 83,4 нс
TIM4->CCR2 = 74; // Задержка 1,04 мкс
TIM4->CCMR1 = TIM_CCMR1_CC1S_0 | TIM_CCMR1_OC2M(6);
TIM4->SMCR = TIM_SMCR_TS_TI1FP1 | TIM_SMCR_SMS(6);
TIM4->CR1 = TIM_CR1_OPM;
TIM4->EGR = TIM_EGR_UG;
TIM4->SR =0;
TIM4->CCER = TIM_CCER_CC2E;
Вт июл 31, 2018 08:35:27