你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3338|回复: 13

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

[复制链接]

35

主题

423

回帖

93

蝴蝶豆

版主

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

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

  3.   /* MSI is enabled after System reset, activate PLL with MSI as source */
  4.   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  5.   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  6.   //RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
  7.   //RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
  8.   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  9.   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  10.   RCC_OscInitStruct.PLL.PLLM = 1;
  11.   RCC_OscInitStruct.PLL.PLLN = 10;
  12.   RCC_OscInitStruct.PLL.PLLP = 7;
  13.   RCC_OscInitStruct.PLL.PLLR = 2;
  14.   RCC_OscInitStruct.PLL.PLLQ = 2;
  15.   if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  16.   {
  17.     /* Initialization Error */
  18.     while(1);
  19.   }

  20.   /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
  21.      clocks dividers */
  22.   RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK
  23.                                                                   | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
  24.   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  25.   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  26.   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  27.   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
  28.   if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
  29.   {
  30.     /* Initialization Error */
  31.     while(1);
  32.   }
复制代码
开启了PLL,系统时钟80Mhz,这样开启USART轻松上115200,当然换成HSI也可以,楼主都尝试过,照葫芦画瓢就可以了。

评分

参与人数 1ST金币 +10 收起 理由
沐紫 + 10

查看全部评分

回复

使用道具 举报

4

主题

65

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-4-1
发表于 2015-10-29 16:53:53 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

33

主题

1243

回帖

0

蝴蝶豆

论坛元老

最后登录
2019-3-9
发表于 2015-10-29 17:06:24 | 显示全部楼层
不用焊晶振一样用HSE
回复 支持 反对

使用道具 举报

62

主题

524

回帖

0

蝴蝶豆

高级会员

最后登录
2018-8-20
发表于 2015-10-29 17:15:26 | 显示全部楼层
看看
回复 支持 反对

使用道具 举报

37

主题

1084

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-22
发表于 2015-10-29 19:03:36 | 显示全部楼层
                    谢谢分享
回复 支持 反对

使用道具 举报

1

主题

629

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-3-7
发表于 2015-10-29 20:11:10 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

7

主题

912

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-4
发表于 2015-10-29 21:04:13 | 显示全部楼层
谢谢分享
stmcu.org.png
回复 支持 反对

使用道具 举报

1

主题

67

回帖

0

蝴蝶豆

初级会员

最后登录
2015-11-25
发表于 2015-10-29 23:25:33 | 显示全部楼层
在MX设置一下就好
回复 支持 反对

使用道具 举报

11

主题

1139

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-10
发表于 2015-10-30 00:11:36 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

8

主题

380

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-11-26
发表于 2015-10-30 08:20:02 | 显示全部楼层
外部的比较准一些。
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版