如果想要访问共享资源,首先创建信号量
OSSemCreate ((OS_SEM* )&ADC_SEM,
(CPU_CHAR* )"ADC_SEM",
(OS_SEM_CTR )1,
(OS_ERR* )&err);
然后在一个任务中等待信号量:
OSSemPend(&ADC_SEM,0,OS_OPT_PEND_BLOCKING,0,&err);
最后在中断中释放信号量:
OSSemPost (&ADC_SEM,OS_OPT_POST_1,&err); }
实现以上3个步骤,就能完成共享资源这件事情吗? |