你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SysTick时钟做延时

[复制链接]
andrewsss 提问时间:2019-1-8 10:36 /
在用SysTick时钟做延时程序时,我在F103的板子是用SysTick_Config()没问题,但是在L151的板子上发现堵这个函数这里了,但是我看了这个函数里面也没有while,怎么就阻塞了,SysTick时钟是Cortex-M3都有的吧?然后我在SysTick_Config()里面定位,发现是堵在这一步了SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |                    SysTick_CTRL_TICKINT_Msk   |
                   SysTick_CTRL_ENABLE_Msk;
不懂为什么这一步不能执行,如果说没有这个寄存器的话,上面的SysTick->LOAD  = ticks - 1; 是可以执行的,问题到底出在哪里?
附上程序图:
360截图20190108100806665.jpg 360截图20190108100826473.jpg 360截图20190108102705814.jpg


<
收藏 评论16 发布时间:2019-1-8 10:36

举报

16个回答
五哥1 回答时间:2019-1-8 19:21:55
用HAL_Delay(0.1)试下
andrewsss 回答时间:2019-1-8 11:06:06
发现问题了,是SysTick->LOAD 的值设置的太小了,我改成64(SysTick_Config(64))就可以了,现在是2us中断一次,SysTick->LOAD还有最小值???
zjczm 回答时间:2019-1-8 12:03:26
本帖最后由 zjczm 于 2019-1-8 12:05 编辑

那就是你中断太快了。太快的话,别的事情没法干了。
微秒的延时,不如单独搞个定时器来实现吧。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

watershade 回答时间:2019-1-8 12:15:22
systick主要是用来做时间基准的,一般就是1ms延时一次。尽管可以配置。也是建议你用专门的定时器,算一下你一个任务到底要多久。感觉32MHz要定us定时,其实处理不了啥任务。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

butterflyspring 回答时间:2019-1-8 12:24:24
STM32有很多定时器,建议用外设定时器做timerx。 systic 通常做系统节拍用的,功能也比较单一,一般都不建议用户用来定时。 另外你的定时频率快,考虑用定时器的某些硬件功能。 否则中断进出消耗时间,再加上代码执行时间,根本做不了多少事情,甚至会影响其他代码执行的。 外设定时器在函数库中有很多例程,照着用也不复杂的

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

andrewsss 回答时间:2019-1-8 14:01:37
zjczm 发表于 2019-1-8 12:03
那就是你中断太快了。太快的话,别的事情没法干了。
微秒的延时,不如单独搞个定时器来实现吧。

我搞了个定时器,没法微秒定时啊,只能搞成毫秒,不然一直进定时器中断
andrewsss 回答时间:2019-1-8 14:04:09
watershade 发表于 2019-1-8 12:15
systick主要是用来做时间基准的,一般就是1ms延时一次。尽管可以配置。也是建议你用专门的定时器,算一下你 ...

我只是为了写个能进行微秒延时的函数,不关系其他的任务
andrewsss 回答时间:2019-1-8 14:05:56
butterflyspring 发表于 2019-1-8 12:24
STM32有很多定时器,建议用外设定时器做timerx。 systic 通常做系统节拍用的,功能也比较单一,一般都不建 ...

定时器能进行微秒计时吗,怎么做,我配置的只能最小是毫秒
watershade 回答时间:2019-1-22 11:09:00
五哥1 发表于 2019-1-8 19:21
用HAL_Delay(0.1)试下

你如果愿意回答请好好回答。不要通过灌水的方式来赚积分。谢谢
HAL_Delay的函数原型是:void HAL_Delay (__IO uint32_t Delay)
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版