Aprendizaje de banderas de subprocesos api CMSIS-OS2

El seguimiento se actualizará con el progreso. . .

- Banderas de hilo--

La bandera del hilo (cerca de la bandera del evento) se puede utilizar para la comunicación entre procesos. Por ejemplo, en el proyecto de bloqueo de huellas dactilares de Bluetooth que hice, Bluetooth recibe un mensaje y establece un indicador de hilo para la tarea de huella digital. La tarea de huella digital espera hasta que el indicador ya no esté bloqueado y ejecuta la tarea de huella digital correspondiente (registrar, eliminar, dormir ...) de acuerdo con el indicador del hilo.

Función de configuración de bandera de hilo:

uint32_t osThreadFlagsSet   (      osThreadId_t       thread_id,uint32_t        flags )     
thread_id:是线程ID
flags:是线程标志,根据需要设置

Función de borrado de bandera de hilo:

uint32_t osThreadFlagsClear(uint32_t flags)

Devuelve la bandera del hilo actual:

uint32_t osThreadFlagsGet(void )

Esperando la bandera del hilo:

功能:等待当前线程的标志被设置

flags:等待的标志
options: 
	osFlagsWaitAny        0x00000000U  等待任意标志被设置
	osFlagsWaitAll        0x00000001U  等待所有标志被设置
	osFlagsNoClear        0x00000002U  不清除被设置的标志
timeout:0值为等待超时的tick数;  0 永久等待无限超时;

返回值:被清除前的标志  或  错误码(最高位是1)
uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout);

Supongo que te gusta

Origin blog.csdn.net/qq_28851611/article/details/108291381
Recomendado
Clasificación