打印
[uCOS/RTOS]

freertos里vTaskDelay不起作用

[复制链接]
25|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
比神乐|  楼主 | 2024-11-17 21:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码:
#include <avr/io.h>
#include <util/delay.h>

#include "FreeRTOS.h"
#include "task.h"
#include "LEDBlinkV1.h"





void LedOnTask( void *pvParameters )   // Task -1
{
       
       
        for( ;; )
        {
                LED_ON;_delay_ms(1000);
                taskYIELD();
                //vTaskDelayUntil(&OnLastWakeTime,OnFrequency);
        }
       
}

void LedOffTask( void *pvParameters )  //Task-2
{
       
        portTickType xLastWakeTime;
        for( ;; )
        {
                LED_OFF;
                //_delay_ms(1000);
                //vTaskDelayUntil(&xLastWakeTime,1000);
                vTaskDelay(1000);
                taskYIELD();
               
                //vTaskDelayUntil(&OffLastWakeTime,OffFrequency);
        }
        vTaskDelete(NULL);
}

portSHORT main(void)
{
        vCPU_Port_Init();
       
        xTaskCreate( LedOnTask, ( signed char * ) "LON", configMINIMAL_STACK_SIZE, NULL, 1, NULL ); //Task creation for task-1
        xTaskCreate( LedOffTask, ( signed char * ) "LOFF", configMINIMAL_STACK_SIZE, NULL,2, NULL );//Task creation for task-2
       
        vTaskStartScheduler();//start scheduler
        //you should never get here
        while(1)
        {
               
        }
        return 0;
}
FreeRTOSconfig里
#define INCLUDE_vTaskPrioritySet                0
#define INCLUDE_uxTaskPriorityGet                0
#define INCLUDE_vTaskDelete                                1
#define INCLUDE_vTaskCleanUpResources        0
#define INCLUDE_vTaskSuspend                        0
#define INCLUDE_vTaskDelayUntil                        1
#define INCLUDE_vTaskDelay                                1
用_delay_ms()就好使,用vTaskDelay就不行。我用的atmega128
请问高手,如何解决?谢谢

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

436

主题

3415

帖子

7

粉丝