打印
[AT32L021]

【AT-START-L021测评】任务函数

[复制链接]
87|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
代码:
#include "at32l021_board.h"
#include "at32l021_clock.h"
#include "FreeRTOS.h"
#include "task.h"

/** @addtogroup UTILITIES_examples
  * @{
  */
static const char *pcTextForTask1="Task 1 is running\r\n";
static const char *pcTextForTask2="Task 2 is running\r\n";

/** @addtogroup FreeRTOS_demo
  * @{
  */
/* led2 task function */
void vTaskFunction(void *pvParameters)
{
        char *pcTaskName;
        pcTaskName=(char * )pvParameters;
  while(1)
  {
                printf("%s\r\n",pcTaskName);
    vTaskDelay(1000);
  }
}



//void vTask1(void *pvParameters);
//void vTask2(void *pvParameters);
/**
  * [url=home.php?mod=space&uid=247401]@brief[/url]  main function.
  * @param  none
  * @retval none
  */
int main(void)
{
  system_clock_config();

  /* init led2 and led3 */
  at32_led_init(LED2);
  at32_led_init(LED3);

  /* init usart1 */
  uart_print_init(115200);

  /* enter critical */
  taskENTER_CRITICAL();

  /* create led2 task */
  xTaskCreate((TaskFunction_t )vTaskFunction,
                 (const char*    )"vTask1",
                 (uint16_t       )512,
                 (void*          )pcTextForTask1,
                 (UBaseType_t    )1,
                 (TaskHandle_t*  )NULL);
  
  /* create led3 task */
  xTaskCreate((TaskFunction_t )vTaskFunction,
                 (const char*    )"vTask2",
                 (uint16_t       )512,
                 (void*          )pcTextForTask2,
                 (UBaseType_t    )2,
                 (TaskHandle_t*  )NULL) ;
  

  /* exit critical */
  taskEXIT_CRITICAL();

  /* start scheduler */
  vTaskStartScheduler();
}

运行效果:

使用特权

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

本版积分规则

449

主题

3487

帖子

7

粉丝