野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17339|回复: 2

systick相关问题

[复制链接]
发表于 2014-8-15 22:21:01 | 显示全部楼层 |阅读模式
1、systick中的Ticks是多少,怎么定义的?
2、在程序中
void Delay_us(__IO u32 nTime){
        TimingDelay = nTime;       

        SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;

        while(TimingDelay != 0);
}

这段是怎么进入到中断
void SysTick_Handler(void)
{
        TimingDelay_Decrement();       
}

中的 ,进去的条件是什么?为什么要进中断?延时已经有了,中断的作用是什么?
回复

使用道具 举报

发表于 2014-8-15 22:52:28 | 显示全部楼层
怎么进入中断?这是因为之前你初始化了SysTick,每隔一段时间就会产生中断啊。在SysTick的中断函数中应该会对TimingDelay 减一吧,如果TimingDelay 减为0了,SysTick停止。这时你才可以从Delay_us跳转出来,不然你一直在Delay_us函数中等待
回复 支持 反对

使用道具 举报

发表于 2014-8-15 22:53:36 | 显示全部楼层
你是不是不懂什么是定时器呀?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 06:36 , Processed in 0.035536 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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