1、中断中为何不能使用信号量?答: 信号量会导致睡眠。
这里有比较细的说明
https://blog.csdn.net/clarkchenhot/article/details/56014731?utm_source=blogxgwz5
对于上面的意思,比如一个进程用信号量加锁了一个数据,然后ISR去读,拿不到信号量,会导致ISR睡眠,那也就是说这个进程不能用信号量了。
ISR要求尽快的返回,如果碰到信号量,导致睡眠,就会引起其他方面的问题,故不要使用它,可以使用spin lock。