默认状态下,wic_mask是打开的,外部的中断无法起作用,
所以需要配置打开,这个是m3内部的处理,查了很多资料都不知道方法,请问有需要知道的么?
WICMASK (WIC input): Mask from core. NMI, Interrupt and RXEV sensitivity mask used for WIC wake-up detection.
xunchun,感谢你的回复.我现在最主要的问题是,不知道如何把wic的mask关闭(默认是打开的,导致外部的wic中断无法起作用),是配置某个寄存器么?
xb, WIC_MASK是HW连接,是从core那边的NMI,interrupt,mon, RXEV接过来的,所以不是寄存器bit直接控制,如果core那边interrupt是enable的(NVIC中),那么对应的WIC_MASK就是1的。所以你可以去使能对应的irq_enable来达到你的目的(然而并不能说WIC_MASK就是这些寄存器直接配置,因为还需要这个IRQ拥有足够的priority,当然default是不需要考虑这些的)。你可以试一下。
xunchun,明白你的意思,我们现在是在集成了M3 core做芯片,初步也看出来了你说的interrupt enable和中断优先级的问题,我们是将wic 中断接在非nmi的中断源上;
测试时:已经将对应的中断源打开,并且将其设置为最高优先级,在芯片deep sleep后,m3输出的mask一直为0,导致外部的wic中断一直无效;
感谢!
建议看一下iim里面Power down timing sequence,WIC_MASK是在WIC_LOAD为1时latch的,而不是deep sleep之后
专家啊,非常感谢,成功解决问题!!!!