OpenEdv-开源电子网

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

关于设置滴答定时器时钟没有成功的问题

[复制链接]

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
发表于 2022-3-31 23:57:27 | 显示全部楼层 |阅读模式
3金钱
如图设置滴答定时器之后,感觉进入中断的时间不对劲,对照报文的时间算了一下,发现9000000个tick之后并不是过了1s,二十0.125s。而我不是已经设置了8分频嘛?为什么会这样嘞?

进入定时器中断

进入定时器中断

配置滴答定时器

配置滴答定时器

最佳答案

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

我想大概找到原因了 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); 这句要放在 if(SysTick_Config(9000000))之后调用
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
 楼主| 发表于 2022-3-31 23:57:28 | 显示全部楼层
我想大概找到原因了

SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
这句要放在
if(SysTick_Config(9000000))之后调用


屏幕截图 2022-04-07 203059.png
回复

使用道具 举报

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
 楼主| 发表于 2022-4-3 14:09:41 | 显示全部楼层
等大佬解答
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2022-4-5 23:13:41 | 显示全部楼层
说明你的系统时钟可能不对。。。
回复

使用道具 举报

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
 楼主| 发表于 2022-4-6 08:57:30 | 显示全部楼层
正点原子 发表于 2022-4-5 23:13
说明你的系统时钟可能不对。。。

我检查一下噢
回复

使用道具 举报

10

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
670
金钱
670
注册时间
2014-4-12
在线时间
194 小时
发表于 2022-4-6 12:05:40 | 显示全部楼层
会不会其他中断打扰了嘀嗒中断。
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4734
金钱
4734
注册时间
2015-1-10
在线时间
591 小时
发表于 2022-4-6 14:25:28 | 显示全部楼层
把其他功能都关了,然后看一下主频是不是72
回复

使用道具 举报

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
 楼主| 发表于 2022-4-6 21:37:48 | 显示全部楼层
阿侑kevin 发表于 2022-4-6 14:25
把其他功能都关了,然后看一下主频是不是72

RCC_GetClocksFreq(&RCC_ClocksFreq);
我用这个函数看了一下频率,系统时钟频率还是72M,我不是已经选择8分频了么,怎么还是72M


微信截图_20220406213442.png
回复

使用道具 举报

32

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
389
金钱
389
注册时间
2018-2-9
在线时间
119 小时
 楼主| 发表于 2022-4-7 16:02:05 | 显示全部楼层
如果我现在就是想1s进一次滴答中断,请问大佬我该如何配置呢
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2765
金钱
2765
注册时间
2018-11-8
在线时间
438 小时
发表于 2022-4-7 17:41:41 | 显示全部楼层
ccciron 发表于 2022-4-7 16:02
如果我现在就是想1s进一次滴答中断,请问大佬我该如何配置呢

就是这么配置啊
你还可以试试systick时钟不用8分频 看看什么效果

还有一种方法你用原子的LED例程 那个delay肯定没问题的 先看一下那个时间在你的板子上对不对 然后看看他的程序运行后systick相关的寄存器的值和你的程序是不是完全一样的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2022-4-8 00:56:15 | 显示全部楼层
ccciron 发表于 2022-4-7 20:32
我想大概找到原因了

SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);

修改顺序,或者自己改函数源码
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 14:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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