diff --git a/rt-thread-version/rt-thread-standard/programming-manual/interrupt/interrupt.md b/rt-thread-version/rt-thread-standard/programming-manual/interrupt/interrupt.md index dab926d38b0bbf21bcfa83e76c219f552a3ac714..6483c68e29903b0345298308e59d8aa2eab55a19 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/interrupt/interrupt.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/interrupt/interrupt.md @@ -371,6 +371,7 @@ void rt_hw_interrupt_enable(rt_base_t level); ```c /* 关闭中断 */ level = rt_hw_interrupt_disable(); + /* 执行互斥操作 */ a = a + value; /* 恢复中断 */ rt_hw_interrupt_enable(level); @@ -381,6 +382,7 @@ void rt_hw_interrupt_enable(rt_base_t level); ```c /* 获得信号量锁 */ rt_sem_take(sem_lock, RT_WAITING_FOREVER); + /* 执行互斥操作 */ a = a + value; /* 释放信号量锁 */ rt_sem_release(sem_lock); @@ -511,6 +513,7 @@ void thread_entry(void *parameter) { /* 关闭全局中断 */ level = rt_hw_interrupt_disable(); + /* 执行互斥操作 */ cnt += no; /* 恢复全局中断 */ rt_hw_interrupt_enable(level);