F4怎么打开和关闭所有中断

2019-07-21 00:20发布

简单的程序,不管是计时器还是串口通信,都无法响应中断,找了很久都没有找到原因,怀疑是不是跟总中断有关,所以相请高手们帮帮忙,F4总中断在哪里设置,又是怎么设置的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
numbqq
1楼-- · 2019-07-21 01:58
__asm void INTX_DISABLE(void)
{
        CPSID   I
        BX      LR          
}


__asm void INTX_ENABLE(void)
{
        CPSIE   I
        BX      LR  
}
openedvadmin
2楼-- · 2019-07-21 02:40
numbqq 发表于 2016-1-8 07:09
__asm void INTX_DISABLE(void)
{
        CPSID   I

谢谢帮坛友热心解答。回答得很好。
gangzilife
3楼-- · 2019-07-21 07:40
numbqq 发表于 2016-1-8 15:09
__asm void INTX_DISABLE(void)
{
        CPSID   I

我没有用原子的sys文件,都是自己写的,系统里有关于中断的设置吗?
xkwy
4楼-- · 2019-07-21 10:46
__disable_irq();
__enable_irq();
这两个是keil内置的,查不到定义但就是TM能用!
(在cmsis_armcc.h里有提到)


另外,开关某个中断:
NVIC_EnableIRQ(IRQn);
NVIC_DisableIRQ(IRQn);
这两个在core_cm4.h里定义

这些东西都是CMSIS附带的,不必自作聪明再写一次,反倒可能出问题,

还有一个我常用的:
__WFI();//使芯片休眠,任意中断唤醒
gangzilife
5楼-- · 2019-07-21 12:16
 精彩回答 2  元偷偷看……
gangzilife
6楼-- · 2019-07-21 13:07
 精彩回答 2  元偷偷看……

一周热门 更多>