专家好,
最近新项目上加了 P1_6的外部中断,
测试过程中发现,正常状态下的响应时间约10微秒,但频繁触发时有时候中断响应的时间会很长。
本项目的中断响应实时性要求比较高,所以想通过提高优先级的方式来保证实时性。
问:此类操作会否影响到协议栈正常运行,是否有相应的API可以调用?
平台:CC2530, Z-STACK2.5.1a
Sfei:
IP0 |=(1<<4);IP1 |=(1<<4);
酱紫嘛?
Sfei:
回复 Sfei:
试了试,还是会有响应很慢的情况发生,这特么什么情况?
da qin zheng sheng:
使用示波器测量一下中断信号波形。看看是否有干扰?
Susan Yang:
关于外部中断,建议您参考下协议栈例程内的按键配置方式:
/* SW_6 is at P0.1 */ #define HAL_KEY_SW_6_PORTP0 #define HAL_KEY_SW_6_BITBV(1) #define HAL_KEY_SW_6_SELP0SEL #define HAL_KEY_SW_6_DIRP0DIR/* edge interrupt */ #define HAL_KEY_SW_6_EDGEBITBV(0) #define HAL_KEY_SW_6_EDGEHAL_KEY_FALLING_EDGE/* SW_6 interrupts */ #define HAL_KEY_SW_6_IENIEN1/* CPU interrupt mask register */ #define HAL_KEY_SW_6_IENBITBV(5) /* Mask bit for all of Port_0 */ #define HAL_KEY_SW_6_ICTLP0IEN /* Port Interrupt Control register */ #define HAL_KEY_SW_6_ICTLBITBV(1) /* P0IEN - P0.1 enable/disable bit */ #define HAL_KEY_SW_6_PXIFGP0IFG /* Interrupt flag at source */
Susan Yang:
回复 Sfei:
很高兴您能解决问题!