是这样的,我有一个中断引脚,需要检测频率为100k的中断,但是任务调度频繁的开关中断,导致我中断隔断时间就丢失了几次,怎么解决?
我看到了rt_hw_interrupt_disable()
和rt_hw_interrupt_enable(rt_base_t level)
这两个函数,使用了PRIMASK关全局中断,这是代码
又了解到如果使用BASEPRI代替PRIMASK 的话,可以设置一个阈值,让高优先级的中断不被屏蔽,于是我做了下面的修改
奇怪的是我使用BASEPRI的话,会导致直接进入hardfault,求告知怎么才能让我最高优先级的io中断不被关闭掉?
太好了,原来这里还需要有开中断的操作,加上这两句,完美解决,特别感谢!