OpenEdv-开源电子网

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

stm32f103使用HSI,时钟设置为8M,与DS1302通信

[复制链接]

7

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-7
在线时间
17 小时
发表于 2019-12-23 16:14:43 | 显示全部楼层 |阅读模式
1金钱
之前做过stm32f103(外部晶振,时钟72M)+DS1302,可以正常通信,也分享过,在前面几期,
现在试试HSI,扩频后设置为8M,同样的程序就读出来全为零,读写程序中没有自己手动延时,
不知道有没有哪位朋友做过类似的,介意分享下吗

最佳答案

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

用外部(72M)的时候也没用到delay,后来看了看,再用HSI(8M)把上升换成下降沿就可以了。 发现很多芯片,文档上面写着要什么上升沿写入,下降沿读出,但实际操作(外部72M)也不需要严格执行,就可以。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-7
在线时间
17 小时
 楼主| 发表于 2019-12-23 16:14:44 | 显示全部楼层
正点原子 发表于 2019-12-25 02:37
用HSI的时候,delay初始化也得跟着改。

用外部(72M)的时候也没用到delay,后来看了看,再用HSI(8M)把上升换成下降沿就可以了。
发现很多芯片,文档上面写着要什么上升沿写入,下降沿读出,但实际操作(外部72M)也不需要严格执行,就可以。
回复

使用道具 举报

7

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-7
在线时间
17 小时
 楼主| 发表于 2019-12-23 16:15:33 | 显示全部楼层
这个是设置HSI作为时钟源
__IO uint32_t HSIStatus = 0;
  
  // 把RCC 寄存器复位成复位值
  RCC_DeInit();        
  
  // 使能 HSI
  RCC_HSICmd(ENABLE);
  
  HSIStatus = RCC->CR & RCC_CR_HSIRDY;
  
  if( HSIStatus == RCC_CR_HSIRDY )
  {
    // 使能预取指
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    FLASH_SetLatency(FLASH_Latency_2);
   
    RCC_HCLKConfig(RCC_SYSCLK_Div1);
    RCC_PCLK1Config(RCC_HCLK_Div2);
    RCC_PCLK2Config(RCC_HCLK_Div1);
   
    // 配置 PLLCLK = HSI/2 * RCC_PLLMul_x
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);
   
    // 使能PLL
    RCC_PLLCmd(ENABLE);
   
    // 等待PLL稳定
    while( RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET );
   
    // 选择系统时钟
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
   
    while( RCC_GetSYSCLKSource() != 0x08 );
  }
  else  //如果HSI 启动失败,在这里添加处理错误的代码
  {
  }
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-12-25 02:37:19 | 显示全部楼层
用HSI的时候,delay初始化也得跟着改。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-8-6
在线时间
5 小时
发表于 2020-9-28 08:42:57 来自手机 | 显示全部楼层
正点原子 发表于 2019-12-25 02:37
用HSI的时候,delay初始化也得跟着改。

delay初始化怎么改
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-16 21:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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