Inc_brza 发表于 2015-10-29 16:43:26

【NUCLEO-L476RG开发】外部高速时钟HSE开启

       进来论坛了,到处都是看到大家为了抢板子赚ST币疯狂刷评论,好吧,小弟也有幸抢到一个板子,不过,做技术的进来看到论坛这么对的水帖子,未免觉得有几分失望。L4玩得也差不多了,本来也想玩玩他的低功耗和LCD驱动,再移植操作系统进去的,不过算了,毕竟没有什么意义!小弟的板子已经送给了小伙伴了。今天分享最后一个帖子后也算是回报社区送我L4板子玩,虽然技术含量不高。
       很多人接触这些Nucleo估计都是用的内部时钟来玩的,但是我发现L4的MSI并不好用,可能是我设置的不好吧,用的也是HAL提供的Demo配置,
波特率设置115200总会出现乱码,毕竟自己用惯了外部时钟,所以就焊接一个16Mhz的晶振上去了,用外部晶振的时候,记得还要焊接上两个短路电阻和晶振
的起振电容,22p就行了,比较通用。


关于代码配置:
首先在stm32l4xx_conf.h中的HSE_VALUE改为16 000 000,
然后下面是正式的代码配置:
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitTypeDef RCC_OscInitStruct = {0};

/* MSI is enabled after System reset, activate PLL with MSI as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
//RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
//RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 1;
RCC_OscInitStruct.PLL.PLLN = 10;
RCC_OscInitStruct.PLL.PLLP = 7;
RCC_OscInitStruct.PLL.PLLR = 2;
RCC_OscInitStruct.PLL.PLLQ = 2;
if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
    /* Initialization Error */
    while(1);
}

/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
   clocks dividers */
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK
                                                                  | 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;
if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
{
    /* Initialization Error */
    while(1);
}开启了PLL,系统时钟80Mhz,这样开启USART轻松上115200,当然换成HSI也可以,楼主都尝试过,照葫芦画瓢就可以了。

Small利 发表于 2015-10-29 16:53:53

顶一下:):):)

风子 发表于 2015-10-29 17:06:24

不用焊晶振一样用HSE

w小菜才 发表于 2015-10-29 17:15:26

看看:):):):)

suoma 发表于 2015-10-29 19:03:36

                  谢谢分享

disheng4688 发表于 2015-10-29 20:11:10

谢谢分享

JackieLaura 发表于 2015-10-29 21:04:13

谢谢分享

神棍狗大侠 发表于 2015-10-29 23:25:33

在MX设置一下就好

peter001 发表于 2015-10-30 00:11:36

:lol谢谢分享

aoxiangwode2008 发表于 2015-10-30 08:20:02

外部的比较准一些。
页: [1] 2
查看完整版本: 【NUCLEO-L476RG开发】外部高速时钟HSE开启