[uCOS/RTOS] freertos里vTaskDelay不起作用

[复制链接]
 楼主| 比神乐 发表于 2024-11-17 21:53 | 显示全部楼层 |阅读模式
代码:
  1. #include <avr/io.h>
  2. #include <util/delay.h>

  3. #include "FreeRTOS.h"
  4. #include "task.h"
  5. #include "LEDBlinkV1.h"





  6. void LedOnTask( void *pvParameters )   // Task -1
  7. {
  8.        
  9.        
  10.         for( ;; )
  11.         {
  12.                 LED_ON;_delay_ms(1000);
  13.                 taskYIELD();
  14.                 //vTaskDelayUntil(&OnLastWakeTime,OnFrequency);
  15.         }
  16.        
  17. }

  18. void LedOffTask( void *pvParameters )  //Task-2
  19. {
  20.        
  21.         portTickType xLastWakeTime;
  22.         for( ;; )
  23.         {
  24.                 LED_OFF;
  25.                 //_delay_ms(1000);
  26.                 //vTaskDelayUntil(&xLastWakeTime,1000);
  27.                 vTaskDelay(1000);
  28.                 taskYIELD();
  29.                
  30.                 //vTaskDelayUntil(&OffLastWakeTime,OffFrequency);
  31.         }
  32.         vTaskDelete(NULL);
  33. }

  34. portSHORT main(void)
  35. {
  36.         vCPU_Port_Init();
  37.        
  38.         xTaskCreate( LedOnTask, ( signed char * ) "LON", configMINIMAL_STACK_SIZE, NULL, 1, NULL ); //Task creation for task-1
  39.         xTaskCreate( LedOffTask, ( signed char * ) "LOFF", configMINIMAL_STACK_SIZE, NULL,2, NULL );//Task creation for task-2
  40.        
  41.         vTaskStartScheduler();//start scheduler
  42.         //you should never get here
  43.         while(1)
  44.         {
  45.                
  46.         }
  47.         return 0;
  48. }
FreeRTOSconfig里
  1. #define INCLUDE_vTaskPrioritySet                0
  2. #define INCLUDE_uxTaskPriorityGet                0
  3. #define INCLUDE_vTaskDelete                                1
  4. #define INCLUDE_vTaskCleanUpResources        0
  5. #define INCLUDE_vTaskSuspend                        0
  6. #define INCLUDE_vTaskDelayUntil                        1
  7. #define INCLUDE_vTaskDelay                                1
用_delay_ms()就好使,用vTaskDelay就不行。我用的atmega128
请问高手,如何解决?谢谢
kissdb 发表于 2024-11-18 16:17 | 显示全部楼层
LED_ON;和LED_OFF;放在一个任务里看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

470

主题

3535

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部