大部分的RT-THREAD中,用到了大量的开总中断和关总中断。
问题:
开关总中断的用法如下:
rt_base_t level;
level = rt_hw_interrupt_disable();
recved = _serial_fifo_calc_recved_len(serial);
rt_hw_interrupt_enable(level);
但是RT-THREAD中有一个地方却不是这么写的。
int rtthread_startup(void)
{
rt_hw_interrupt_disable();
想请问,
此处的level是否缺省?
如何解释一开始就关闭总中断?
何时代码会执行打开总中断?
此处代码如果产生意想不到的结果,比如一些带中断才能起来的驱动起不来,如何workaround?
在cortex a系列的代码里面没有看到开中断操作,可以帮忙解答以下么?