uC/OS内核通信的资源,必须创建二进制信号量、计数信号量。
任务信号量比通过内核对象信号量通信方式解除阻塞的任务的速度要快,并且更加节省RAM内存。
任务信号量的使用无需单独创建信号量。
区别:
任务信号量:只能有一个任务接收任务信号量,因为必须指定接收信号量的任务,才能正确发送信号量。
内核对象的信号量:用户在释放信号量。可以采用广播的方式,让所有等待信号量的任务都获取到信号量。
任务信号量释放函数 OSTaskSemPost()
获取任务信号量函数 OSTaskSemPend()