OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7301|回复: 10

stm32使用外部有源晶振的一些疑问

[复制链接]

8

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2014-7-4
在线时间
7 小时
发表于 2016-7-8 11:00:29 | 显示全部楼层 |阅读模式
5金钱
使用外部有源晶振遇到一点问题

360反馈意见截图16501112799194.jpg

知道应该外部的连接方法是这样的
但是问题是怎么在3.5的库下进行设置呢
找到了一个3.0库的设置方法
RCC_HSEConfig(RCC_HSE_Bypass);
求指导怎么配置  越详细越好

最佳答案

查看完整内容[请看2#楼]

我用的是F3[mw_shl_code=c,true]void SystemInit (void) { /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL CFGR &= (uint32_t)0x00FF0000; /* Reset HSEON, CSSON and PLLON bits */ RCC->CR &= (uint32_t)0xFEF6FFFF; /* Reset HSEBYP bit */ RCC->CR &= (uint32_t)0xFFFBFFFF; /* ...
呵呵
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-6-16
在线时间
16 小时
发表于 2016-7-8 11:00:30 | 显示全部楼层
本帖最后由 loosens111 于 2016-7-26 20:48 编辑
694225976 发表于 2016-7-26 10:05
具体怎么操作能够给个例子吗?

我用的是F3[mw_shl_code=c,true]void SystemInit (void)
{
  /* FPU settings ------------------------------------------------------------*/
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  #endif
   
  /* Set HSION bit */
  RCC->CR |= (uint32_t)0x00000001;

  /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */
  RCC->CFGR &= (uint32_t)0x00FF0000;
  
  /* Reset HSEON, CSSON and PLLON bits */
  RCC->CR &= (uint32_t)0xFEF6FFFF;

  /* Reset HSEBYP bit */
  RCC->CR &= (uint32_t)0xFFFBFFFF;
       
        /* Set HSEBYP bit */
        RCC->CR |= (uint32_t)0x00040000;

  /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */
  RCC->CFGR &= (uint32_t)0xFF80FFFF;

  /* Reset PREDIV1[3:0] bits */
  RCC->CFGR2 &= (uint32_t)0xFFFFFFF0;

  /* Reset USARTSW[1:0], I2CSW and CECSW bits */
  RCC->CFGR3 &= (uint32_t)0xFFF0F8C;
  
  /* Disable all interrupts */
  RCC->CIR = 0x00000000;
  
/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */
  SetSysClock();

  
#ifdef VECT_TAB_SRAM
  SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
#else
  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
#endif
}[/mw_shl_code]

里面        /* Set HSEBYP bit */两行是自己加的,其他是官方函数。
回复

使用道具 举报

8

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2014-7-4
在线时间
7 小时
 楼主| 发表于 2016-7-8 11:12:08 | 显示全部楼层
怎么没人回答呢    自己顶一下   别沉了
呵呵
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-9 21:30:28 | 显示全部楼层
慢慢尝试了,我也没搞过
回复

使用道具 举报

14

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2013-6-23
在线时间
59 小时
发表于 2016-7-10 18:03:20 | 显示全部楼层
直接寄存器操作
回复

使用道具 举报

0

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-6-21
在线时间
52 小时
发表于 2016-7-11 07:18:21 来自手机 | 显示全部楼层
使用外部晶振是很重要的,你输入是正确的。我始终是把晶振用一个三极管接好了再送进单片机。F4的优点是可以使用手机用的26m温补晶振,其实这个在一些场合非常有意义。
回复

使用道具 举报

8

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2014-7-4
在线时间
7 小时
 楼主| 发表于 2016-7-19 19:51:51 | 显示全部楼层
北京蜈蚣 发表于 2016-7-11 07:18
使用外部晶振是很重要的,你输入是正确的。我始终是把晶振用一个三极管接好了再送进单片机。F4的优点是可以 ...

说的我不是很明白啊   第一个用有源的晶振    非常想知道里面应该怎么配置
呵呵
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-6-16
在线时间
16 小时
发表于 2016-7-26 08:53:15 | 显示全部楼层
初始化时在SystemInit()函数里加上HSE旁路就可以了,其他不用变
回复

使用道具 举报

8

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2014-7-4
在线时间
7 小时
 楼主| 发表于 2016-7-26 10:05:10 | 显示全部楼层
loosens111 发表于 2016-7-26 08:53
初始化时在SystemInit()函数里加上HSE旁路就可以了,其他不用变

具体怎么操作能够给个例子吗?
呵呵
回复

使用道具 举报

8

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2014-7-4
在线时间
7 小时
 楼主| 发表于 2016-9-24 09:52:35 | 显示全部楼层
loosens111 发表于 2016-7-8 11:00
我用的是F3[mw_shl_code=c,true]void SystemInit (void)
{
  /* FPU settings ---------------------- ...

我用的是f103的  应该也和这样一样对吧   默认的时候没有系统初始化我自己调用一下   并在里面添加自己的那两行程序对吧
呵呵
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2020-5-20
在线时间
8 小时
发表于 2020-9-1 16:06:31 | 显示全部楼层
到while((RCC->CR&RCC_CR_PLLRDY)==0)卡住了。测试用HSE直接作为系统时钟是正常的,所以不知到是为什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-14 13:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表