OpenEdv-开源电子网

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

关于战舰开发板STM32开发指南的一点疑问 望指导

[复制链接]

10

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-12-18
在线时间
29 小时
发表于 2013-9-30 10:02:20 | 显示全部楼层 |阅读模式
STM32库函数开发指南119页
 void delay_us(u32 nus)
{    
  u32 temp;          
  SysTick->LOAD=nus*fac_us; //时间加载          
  SysTick->VAL=0x00;                //清空计数器
  SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;                    //开始倒数    
  do
  {
    temp=SysTick->CTRL;
  }
  while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
  SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;              //关闭计数器
  SysTick->VAL =0X00;              //清空计数器    
}

开发指南上面介绍 while(temp&0x01&&!(temp&(1<<16))); 中temp&0x01 这一句是用来判断systick
定时器是否还处于开启状态,可以防止systick被意外关闭导致的死循环

我的理解 其实真的systick被意外关闭   就直接退出了吧  那延时就不准确了吧 
不知我的理解对吗  望大家探讨赐教
 
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-12-18
在线时间
29 小时
 楼主| 发表于 2013-9-30 10:20:37 | 显示全部楼层
希望路过看到的表个态 
回答能和不能
回复 支持 反对

使用道具 举报

10

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-12-18
在线时间
29 小时
 楼主| 发表于 2013-9-30 10:28:56 | 显示全部楼层
真的意外关闭 可能就直接退出了 那么延时就不准确了吧  好纠结
回复 支持 反对

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2013-9-30 12:01:45 | 显示全部楼层
有什么好纠结啊,意外关闭,延时肯定不准咯
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

10

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2012-12-18
在线时间
29 小时
 楼主| 发表于 2013-9-30 12:33:02 | 显示全部楼层
有没有别的办法 防止意外关闭呢
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-10-1 09:33:25 | 显示全部楼层
回复【5楼】wuhaiduo:
---------------------------------
定时要求不严格的时候用软件延时吧,就没有这种意外关闭了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 03:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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