打印

stm32 Systick 问题

[复制链接]
1593|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的波形,一般如果时间设置不正确,频率很高的话会看到常亮或者常灭

使用特权

评论回复
5
拿起书本| | 2013-6-7 10:59 | 只看该作者
你可以加延时试试看,解决问题了记得要分享啊

使用特权

评论回复
6
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

粉丝