fire18 发表于 2015-1-29 11:09:13

在svc中断处理过程中还会来定时器中断吗

我在k21上写了一些服务函数,供上层通过svc中断方式调用,这些服务函数中会根据g_TickCount值来做一些延时和超时的判断,而g_TickCount的值会由一个10ms定时器来更新

我已经用set_irq_priority (11, 3);把svc中断的优先级调到了最低

现在发现在这些服务函数中g_TickCount的值不会变,在定时器中断中下断点也没拦到,说明在svc中断处理函数中是不会来定时器中断的,这正常吗,该怎么解决呢,谢谢!

myxiaonia 发表于 2015-1-29 11:59:49

当然不正常,svc中断可以被高于其优先级的中断抢占,这是共性,唯一的区别时,当svc指令运行时,不能被明确的挂起,比如关中断或者高中断优先级中断例程中运行svc指令

fire18 发表于 2015-1-29 13:15:32

已经搞定了,谢谢

SetSVCPri:
   LDRR0, =0xE000ED1F
   LDRR1, =0xFF
   STRB R1,
   BX   LR
页: [1]
查看完整版本: 在svc中断处理过程中还会来定时器中断吗