OpenEdv-开源电子网

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

操作systick寄存器,写的延时,为啥就一直停在while里面?

[复制链接]

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
发表于 2016-9-10 21:36:17 | 显示全部楼层 |阅读模式
5金钱
void Delay_MS()
{
  u8 temp=0;
  SysTick->CTRL &=  0XFFFFFFF8;       //失能定时器和中断,选取外部中断
  SysTick->LOAD  =  0X008FFFFF;       //1.04s                  
  SysTick->CTRL |=  0x00000001;       //使能定时器
  do
  {
   temp = SysTick->CTRL;
  }
  while((temp&0x01)&&!(temp&(1<<16)));

  SysTick->CTRL &= 0XFFFFFFFE;       //失能定时器
  SysTick->VAL   = 0X00000000;       //清除计数器
}
我调试时一直停在while里,这咋整?

最佳答案

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

使用道具 举报

106

主题

418

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2016-7-26
在线时间
123 小时
 楼主| 发表于 2016-9-10 21:36:18 | 显示全部楼层
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-10-9
在线时间
3 小时
发表于 2016-10-9 20:54:59 | 显示全部楼层

我也遇到这个问题,为啥呢
回复

使用道具 举报

Fridaydty 该用户已被删除
发表于 2017-3-26 21:17:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-22 20:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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