发 帖  
原厂入驻New
张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器,👉戳此立抢👈
[问答] 滴答定时器中断烧了
739 定时器 中断
分享
在用滴答定时器中断的时候,写完用软件模拟测试了一下,没什么问题,然后就烧了。结果一个写在Systick_Handler里灯一直不闪,用了一个变量累加,效果是1s亮半秒。然后检查了一下,实际上SysTick_Handler只执行了一次。我配置的是SysTick_Config(SystemCoreClock/1000),1ms进一次中断。请问有没有遇到同样问题的,实在很费解
0
2019-4-1 08:06:17   评论 分享淘帖 邀请回答
11个回答
你可以在里面取反IO  看看是不是1ms的波形
如果没有 说明你配置有问题
2019-4-1 08:15:44 评论

举报

是1ms,但是中断只进了一次。滴答定时器需要什么配置吗,我就只设置了一个SysTick_Config,没别的了,还需要别的什么配置吗
2019-4-1 08:27:27 评论

举报

最好有代码,说明具体的型号,大家有对应芯片的可以帮你试一下。
2019-4-1 08:32:31 评论

举报

2019-4-1 08:43:28 评论

举报

xi9632 发表于 2019-4-1 15:06
我是1us中断一次的

这是HAL库写的吗,我没接触过HAL库,不过大概意思能看懂,我先看看我是不是漏了什么
2019-4-1 08:56:50 评论

举报

TOPCB 发表于 2019-4-1 14:55
最好有代码,说明具体的型号,大家有对应芯片的可以帮你试一下。

兄弟,主要代码公司是不让贴出来,要是能直接贴出来,我早放上来了。。。。。主要是想咨询一下,大家有没有遇到过这种系统定时器中断只执行一次的情况,真的很怪,我是第一次碰到,以前不管怎么乱配置也没出现过这种情况
2019-4-1 09:11:06 评论

举报

本帖最后由 anywill 于 2017-4-7 04:11 编辑

看看我用mbed写的,很简洁#include<mbed>
DigitalOut led(PA_5);
Ticker timer led;
void ledflip()
{led=1;//假设高电平点亮      
   wait(1);   
  led=0;      
    }
int main()
{   
  timer_led.attach(&ledflip,0.5);//滴答中断   
while(1);  
}
手机编的排版不太好
2019-4-1 09:26:04 评论

举报

没有遇到过类似情况,楼主可以在线仿真,看一下寄存器的值,再确定是没有运行还是配置时间太长。
2019-4-1 09:35:51 评论

举报

本帖最后由 Cortexxx 于 2017-4-9 17:01 编辑

我用寄存器写的



听说SysTick 的中断默认最低优先级  而且不需要配置NVIC   地址竟然是-1 属于 处理器运行异常

然后测一下电平翻转情况 如下


2019-4-1 09:43:46 评论

举报

这个需要去查查技术手册,最好是拿示波器来看
2019-4-1 13:53:29 评论

举报

你可以在里面取反IO  看看是不是1ms的波形
如果没有 说明你配置有问题
2019-4-1 22:19:59 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /10 下一条

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