查看源码OS_CRITICAL_METHOD 宏定义就知道了
#if OS_CRITICAL_METHOD == 3
#define OS_ENTER_CRITICAL() {cpu_sr = OS_CPU_SR_Save();}
#define OS_EXIT_CRITICAL() {OS_CPU_SR_Restore(cpu_sr);}
你调用临界区这两个接口必须要定义一个cpu_sr 变量的,这是宏决定的,否则也编译不过啊;其次作用这个变量是用来存放关中断前的状态寄存器的,看懂代码意思你也就知道这个局部变量只需定义,至于赋值0与否不重要
CPU_SR_ALLOC(); OS_CPU_SR os_cpu_sr=0;这句是什么意思
最新推荐文章于 2023-10-11 14:42:20 发布