void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { // Обязательно сбрасываем флаг TIM_ClearITPendingBit(TIM2, TIM_IT_Update); GPIOC->ODR ^= GPIO_Pin_13; } }
int main(void) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int i; //****************************************************************************************************************************** { //настройка тактирования ErrorStatus HSEStartUpStatus; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ----------*/ RCC_DeInit(); /* Системный RESET RCC (делать не обязательно, но полезно на этапе отладки) */ RCC_HSEConfig( RCC_HSE_ON); /* Включаем HSE (внешний кварц) */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* Ждем пока HSE будет готов */ if (HSEStartUpStatus == SUCCESS) /* Если с HSE все в порядке */ { /* Следующие две команды касаются исключительно работы с FLASH. Если вы не собираетесь использовать в своей программе функций работы с Flash, FLASH_PrefetchBufferCmd( ) та FLASH_SetLatency( ) можно закомментировать */
RCC_HCLKConfig( RCC_SYSCLK_Div1); /* HCLK = SYSCLK */ /* Смотри на схеме AHB Prescaler. Частота не делится (RCC_SYSCLK_Div1) */ RCC_PCLK2Config( RCC_HCLK_Div1); /* PCLK2 = HCLK */ /* Смотри на схеме APB2 Prescaler. Частота не делится (RCC_HCLK_Div1) */ RCC_PCLK1Config( RCC_HCLK_Div2); /* PCLK1 = HCLK/2 */ /* Смотри на схеме APB1 Prescaler. Частота делится на 2 (RCC_HCLK_Div2) потому что на выходе APB1 должно быть не более 36МГц (смотри схему) */ /* PLLCLK = 8MHz * 9 = 72 MHz */ /* Указываем PLL от куда брать частоту (RCC_PLLSource_HSE_Div1) и на сколько ее умножать (RCC_PLLMul_9) */ /* PLL может брать частоту с кварца как есть (RCC_PLLSource_HSE_Div1) или поделенную на 2 (RCC_PLLSource_HSE_Div2). Смотри схему */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd( ENABLE); /* Включаем PLL */ while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {} /* Ждем пока PLL будет готов */ RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK); /* Переключаем системное тактирование на PLL */ while (RCC_GetSYSCLKSource() != 0x08) {} /* Ждем пока переключиться */ } else /* Проблемы с HSE. Тут можно написать свой код, если надо что-то делать когда микроконтроллер не смог перейти на работу с внешним кварцом */ { while (1) {} /* Пока тут заглушка - вечный цикл*/ } } { //настройка портов GPIO_InitTypeDef GPIO_InitStructure; /* Initialize Leds mounted on STM32 board */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); /* Initialize LED which connected to PC13, Enable the Clock*/
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения