OpenEdv-开源电子网

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

关于SYSTICK定时器延时问题

[复制链接]

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2024-8-27
在线时间
12 小时
发表于 2024-9-22 19:17:10 | 显示全部楼层 |阅读模式
1金钱
1727003312835.jpg 1727003285172.jpg 1727003257227.jpg 新人请教下各位大佬,我用F103的SYSYTICK做的延时函数,明明时钟源选的是内核时钟源,系统时钟设置的72MHz,为什么下载后延时总是比实际的时间快很多,还是手册上时钟树图示系统定时器时钟源只有8分频,没有显示HCLK时钟源?在这里坑了很久,麻烦大佬们指点下

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4416
金钱
4416
注册时间
2018-5-11
在线时间
922 小时
发表于 2024-9-24 11:48:33 | 显示全部楼层
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2024-8-27
在线时间
12 小时
 楼主| 发表于 2024-9-24 13:37:14 | 显示全部楼层
warship 发表于 2024-9-24 11:48
参考一下
http://www.openedv.com/forum.php?mod=viewthread&tid=275994&extra=

多谢大佬,我再试试,主要就是搞不懂是啥原因造成的延时过快,是我的SYSTICK时钟源设置不对?还是系统频率问题?或者单纯就因为少了OS系统支持的代码造成的?(代码是参考原子的例程 ,改了一小部分)
回复

使用道具 举报

31

主题

1951

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4416
金钱
4416
注册时间
2018-5-11
在线时间
922 小时
发表于 2024-9-24 21:45:22 | 显示全部楼层
KKGG 发表于 2024-9-24 13:37
多谢大佬,我再试试,主要就是搞不懂是啥原因造成的延时过快,是我的SYSTICK时钟源设置不对?还是系统频 ...

帖子中的第4楼是我用的时钟配置,
我一直都用这段代码,
8M晶体72M时钟,
从来没有发现延时有什么问题。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2024-8-27
在线时间
12 小时
 楼主| 发表于 2024-9-25 19:28:55 | 显示全部楼层
对的,时钟配置应该是没问题的,我把原子的延时US的函数复制过来后,就正常了。但就是想不通我这个Delay_us的函数哪里有逻辑问题,找不到问题所在。更奇怪的是我把SYSYTICK定时器配置为外部时钟源(系统时钟8分频),把fac_us改为fac_us/8,再测试程序发现延时就变正常了(本来以为是延时函数问题,现在似乎又被推翻了?),现在这个问题一直想不通原因,卡住了,大佬能不能帮我分析下原因?
回复

使用道具 举报

0

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2023-12-6
在线时间
32 小时
发表于 2024-9-26 08:56:56 | 显示全部楼层
干嘛不调用Systick_Config呢,寄存器的含义又不知道。SysTick->Ctrl寄存器第2位控制时钟是使用HCLK/8还是HCLK,写0就是HCLK/8。
回复

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2024-8-27
在线时间
12 小时
 楼主| 发表于 2024-9-27 15:43:17 | 显示全部楼层
JiangYoo 发表于 2024-9-26 08:56
干嘛不调用Systick_Config呢,寄存器的含义又不知道。SysTick->Ctrl寄存器第2位控制时钟是使用HCLK/8还是HC ...

我现在学习使用寄存器配置模式编程还没有正式开始学库函数编程,至于你说的更改SYSTICK时钟源,我试过,改用外部时钟源,也就是系统时钟8分频的方式延时是没问题的,就是这个使用内部时钟源怎么都不行,所以想不通
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 07:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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