野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6114|回复: 10

关于SysTick的一个问题

[复制链接]
发表于 2022-3-17 10:54:00 | 显示全部楼层 |阅读模式
大家好,请教一个困扰了我好几天的问题。我原本想利用SysTick做一个60秒的循环计时器并用数码管显示,一开始我是直接用的固件库中的SysTick_Config()函数。SysTick使能后只要不关闭不是可以一直循环计数吗?所以一开始我把SysTick_Config()函数放到了while()前,但程序烧写后数码管并未有任何变化。我很是疑惑,过了好久我把SysTick_Config()函数放进了while循环中,居然就正常工作了。SysTick使能后只要不关闭不是可以一直循环计数吗?为什么放到while前面就不行了呢?我又尝试了直接操作寄存器,一开始我依然把操作寄存器的语句放到了while前面,结果这样一来数码管又没反应了。。。。。于是把寄存器操作语句又放进了while循环中,果然,数码管正常工作了。。。。。SysTick使能后只要不关闭不是可以一直循环计数吗?为啥放到while前就好像罢工了一样啊?跪求大佬能给一个解释,谢谢!
野火论坛202203171042341025..png
回复

使用道具 举报

发表于 2022-3-18 09:25:58 来自手机 | 显示全部楼层
内部while条件判断的  !去掉试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-18 10:49:47 | 显示全部楼层
梦落雨深 发表于 2022-3-18 09:25
内部while条件判断的  !去掉试试。

一开始用的if判断,但好像还是不行。我到时再去试一试吧。。。
回复 支持 反对

使用道具 举报

发表于 2022-3-18 19:56:41 | 显示全部楼层
注意内部while循环执行完毕后,清除COUNTFLAG标志位
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-18 22:49:13 | 显示全部楼层
梦落雨深 发表于 2022-3-18 19:56
注意内部while循环执行完毕后,清除COUNTFLAG标志位

这个位不清楚会怎么样,停止计数吗?
回复 支持 反对

使用道具 举报

发表于 2022-3-19 14:07:58 | 显示全部楼层
首先,你要确定一下,你的时钟有没有工作,你的时钟频率是多少?其次,不用放到while循环中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 16:11:08 | 显示全部楼层
好听的名字 发表于 2022-3-19 14:07
首先,你要确定一下,你的时钟有没有工作,你的时钟频率是多少?其次,不用放到while循环中 ...

关键不放进循环就没反应,放进循环就工作了。我对此也很纳闷。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-19 17:28:28 | 显示全部楼层
好听的名字 发表于 2022-3-19 14:07
首先,你要确定一下,你的时钟有没有工作,你的时钟频率是多少?其次,不用放到while循环中 ...

大佬可不可以直接操作寄存器写一段,我对比一下看看我错在哪。。。
回复 支持 反对

使用道具 举报

发表于 2022-3-20 15:36:38 | 显示全部楼层
我猜测问题不在 systick里 而在 显示函数里,建议查一下显示函数 的显示条件。
周期性的刷新显示可以用另一个思路:你都已经使用systick来计时了。可弄一个全局变量DisplayCycle ,每次进systick中断就 -1 ,到0 表示过了DisplayCycle这么多个时基时间,然后执行一次显示刷新函数,并重置DisplayCycle 的值。
回复 支持 反对

使用道具 举报

发表于 2022-3-21 09:09:00 | 显示全部楼层
icmaster 发表于 2022-3-19 16:11
关键不放进循环就没反应,放进循环就工作了。我对此也很纳闷。。。。

那个你现在没有理解这个定时器的意义,给你个建议,去看一下野火大佬的视频吧,有详细的介绍,然后你按照野火大佬的例程跑一下你的板子就清楚了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 10:11:06 | 显示全部楼层
好听的名字 发表于 2022-3-21 09:09
那个你现在没有理解这个定时器的意义,给你个建议,去看一下野火大佬的视频吧,有详细的介绍,然后你按照 ...

OK,谢谢你的建议
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-23 12:38 , Processed in 0.061955 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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