FreeRTOS学习4--计数型信号量

来源:互联网 发布:城西银泰有mac专柜吗 编辑:程序博客网 时间:2024/06/11 11:33
SemaphoreHandle_t   MySemaphoreHandle_led;/*创建变量*/MySemaphoreHandle_led = xSemaphoreCreateCounting(10,0);/*创建计数型信号量*///LED0void led0_task(void *pvParameters){    u8 num = 0;    while(1)    {        LED0=~LED0;        xSemaphoreGive(MySemaphoreHandle_led);        xSemaphoreGive(MySemaphoreHandle_led);        xSemaphoreGive(MySemaphoreHandle_led);        xSemaphoreGive(MySemaphoreHandle_led);        num = uxSemaphoreGetCount(MySemaphoreHandle_led);            led_debug("num = %d",num);        vTaskDelay(10000);    }}   //LED1void led1_task(void *pvParameters){    u8 num = 0;    while(1)    {            num = uxSemaphoreGetCount(MySemaphoreHandle_led);            xSemaphoreTake(MySemaphoreHandle_led,portMAX_DELAY);            led_debug("num = %d",num);      LED1=~LED1;            vTaskDelay(100);    }}/**********************************File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 0File: ..\HARDWARE\led_task\led_task.c, Line: 00023: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 2File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 1File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 0File: ..\HARDWARE\led_task\led_task.c, Line: 00023: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 2File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 1File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 0File: ..\HARDWARE\led_task\led_task.c, Line: 00023: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 3File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 2File: ..\HARDWARE\led_task\led_task.c, Line: 00038: num = 1**********************************/
原创粉丝点击