新手求教,关于systick中的timingdelay变量

[复制链接]
 楼主| le062 发表于 2011-4-3 17:01 | 显示全部楼层 |阅读模式
本帖最后由 le062 于 2011-4-3 17:12 编辑

如下一段代码
  1. static __IO uint32_t TimingDelay;

  2. void Delay(__IO uint32_t nTime);
  3. void TimingDelay_Decrement(void);

  4. int main(void)
  5. {

  6. //初始化略去

  7. /* Setup SysTick Timer for 1 msec interrupts */
  8. if (SysTick_Config(SystemFrequency / 1000))
  9. {
  10. /* Capture error */
  11. while (1);
  12. }

  13. while (1)
  14. {
  15. GPIO_SetBits(GPIOC, GPIO_Pin_6);

  16. Delay(500); //ms

  17. GPIO_ResetBits(GPIOC, GPIO_Pin_6);

  18. Delay(500);
  19. }
  20. }


  21. void TimingDelay_Decrement(void)
  22. {
  23. if (TimingDelay != 0x00)
  24. {
  25. TimingDelay--;
  26. }
  27. }


  28. void Delay(__IO uint32_t nTime)
  29. {
  30. TimingDelay = nTime;

  31. while(TimingDelay != 0);
  32. }
为什么TimingDelay能被自减,用keil仿真就死在void Delay()里了
下载下去运行就没问题
搞不懂

找到了
  1. void SysTick_Handler(void)
  2. {
  3. TimingDelay_Decrement();
  4. }
baishuiyang 发表于 2014-4-20 21:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

435

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

13

主题

435

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部