NUCLEO-L476RG时钟
首先晒哈我的板子吧 以前一直没有用过STM32CubeMX;在拿到NUCLEO-L476RG后,尝试运用这个软件,在初始使用的时候需要下载对应的库;文件大小大概200M;时钟的配置感觉直观明了:
与STM32F103不同的是APB1,APB2,AHB的最大时钟都可以设置为80MHz
对应生成的代码如下
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = 16;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = 1;
RCC_OscInitStruct.PLL.PLLN = 10;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4);
__PWR_CLK_ENABLE();
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
一个很奇怪的显现在数据手册的时钟树上居然找不到参数N,这个问题感觉很奇怪;
STM32CubeMX用起来确实很方便;
配图怎么都跑到一堆去了呢? zj20115659 发表于 2015-11-16 17:15
配图怎么都跑到一堆去了呢?
楼主上传图片之后点一下图片,就能插入到帖子中啦 这个时钟树省掉了VCO和PLLN部分,直接得出了PLL的值。 沐紫 发表于 2015-11-16 17:19
楼主上传图片之后点一下图片,就能插入到帖子中啦
知道了,谢谢 谢谢分享
赞一个 :lol:lol:lol:lol
页:
[1]