有个时序操作 不想被打断 想屏蔽中断不到1us 试了下面的代码 一调用就死机 请问正确的应该如何搞?
/*
* uint32_t hw_interrupt_disable(void);
*/
.globl hw_interrupt_disable
hw_interrupt_disable:
csrrci a0, mstatus, 8
ret
/*
* void hw_interrupt_enable(uint32_t level);
*/
.globl hw_interrupt_enable
hw_interrupt_enable:
csrw mstatus, a0
ret
用的时候是这个代码
void CS_CLK_CYCLE()
{
uint32_t irq_reg = hw_interrupt_disable();
CS_CLK_HIGH;
CS_CLK_LOW;
hw_interrupt_enable(irq_reg);
}
热门产品 :
CH397: 高集成度、低功耗USB网卡芯片