Para una mejor experiencia de usuario, NiceRF le proporciona el código de inicialización del módulo LoRa LoRa1278, con la esperanza de brindar ayuda a la mayoría de los usuarios.
/** Configuración del reloj del sistema
*/
Anular SystemClock_Config (anular)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;
/**Configurar el voltaje de salida del regulador interno principal
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/**Inicializa los relojes de los buses CPU, AHB y APB
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI; //Selecciona el reloj HSI y LSI
RCC_OscInitStruct.HSIState = RCC_HSI_ON; //Abrir HSI
RCC_OscInitStruct.HSICAlibrationValue = 16; //frecuencia HSI
RCC_OscInitStruct.LSIState = RCC_LSI_ON; //Abrir LSI
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; //La fuente del reloj es HSI
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4; //multiplicador PLL
RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2;
If (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) //Inicialización, monitoreo de errores
{
Error_Handler();
}
/**Inicializa los relojes de los buses CPU, AHB y APB
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // Establece la fuente del reloj del sistema en HSI
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //el factor de división AHB es 1
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; //el factor de división APB1 es 1
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; //el factor de división APB2 es 1
If (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)//Configure el reloj y establezca el período de retardo de FLASH al mismo tiempo
{
Error_Handler();
}
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2; // habilitación del reloj periférico
PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
Si (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit)!= HAL_OK)
{
Error_Handler();
}
/**Configurar el tiempo de interrupción de Systick
*/
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
/**Configurar el Systick
*/
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* Configuración de interrupción SysTick_IRQn */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
+86-755-23080616
ventas@nicerf.com
Sitio web: https://www.nicerf.com/
Dirección: 309-314, 3/F, Bldg A, edificio comercial Hongdu, Zona 43, Baoan Dist, Shenzhen, China
política de privacidad
· Política de privacidad
Actualmente no hay contenido disponible
Correo electrónico:sales@nicerf.com
Teléfono:+86-755-23080616