stm32 Systick 问题

[复制链接]
1862|5
 楼主| tianli1980 发表于 2013-6-6 20:27 | 显示全部楼层 |阅读模式
为什么在 SysTick_Handler 中断函数中写的流水灯 不能正常运行,但调试的时候完全正常?求真理啊
jiayou0054 发表于 2013-6-6 23:47 | 显示全部楼层
调试,是仿真器调试吗?那很有可能是正常运行闪烁的太快,造成眼睛看到常亮。而仿真的单步执行,就是亮,灭控制。
logokfu 发表于 2013-6-7 00:00 | 显示全部楼层
把程序拿出来看看嘛
ticomi 发表于 2013-6-7 08:58 | 显示全部楼层
jiayou0054 发表于 2013-6-6 23:47
调试,是仿真器调试吗?那很有可能是正常运行闪烁的太快,造成眼睛看到常亮。而仿真的单步执行,就是亮,灭 ...

用示波器看下LED的波形,一般如果时间设置不正确,频率很高的话会看到常亮或者常灭
拿起书本 发表于 2013-6-7 10:59 | 显示全部楼层
你可以加延时试试看,解决问题了记得要分享啊
jamsan 发表于 2013-6-7 12:55 | 显示全部楼层
拿起书本 发表于 2013-6-7 10:59
你可以加延时试试看,解决问题了记得要分享啊

可以设定一个全局变量。在中断函数里判断多少个tick开,多少个tick关。比如全局: u16 gCount;  中断函数中, if(gCount%1000==0) TurnLed();  //每1000个tick,切换led状态一次。
  TurnLed()中,对LED灯状态反置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

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