- #include <Arduino.h>
- #include <STM32FreeRTOS.h> //引和freertos库
- #ifndef LED_BUILTIN
- #define LED_BUILTIN PC5
- #endif
- /*********************************************************************************
- * @ 函数名 : vTaskLed1
- * @ 功能说明: LED1 任务,实现一个周期性的闪烁
- * @ 参数 : pvParameters,当任务创建的时候传进来,可以没有
- * @ 返回值 : 无
- ********************************************************************************/
- void vTaskLed1(void *pvParameters)
- {
- /* 任务都是一个无限,不能返回 */
- while(1)
- {
- digitalWrite(LED_BUILTIN, HIGH);;
- /* 阻塞延时,单位ms */
- vTaskDelay( 500 );
- digitalWrite(LED_BUILTIN, LOW);;
- vTaskDelay( 500 );
- long tick = xTaskGetTickCount();
- Serial.print("running time = ");
- Serial.println(tick);
- }
- }
- void setup()
- {
- Serial.begin(115200);
- // initialize LED digital pin as an output.
- pinMode(LED_BUILTIN, OUTPUT);
- Serial.println("start U575");
- TaskHandle_t myTask1; //创建任务句柄
- xTaskCreate(vTaskLed1, //创建任务
- "Led task",
- 1024,
- NULL,
- 6,
- &myTask1);
- // 开启任务
- vTaskStartScheduler();
- }
- void loop()
- {
-
- }
复制代码
如上,开启FreeRTos。
效果:
第一个任务就成功了,给arduino点个赞吧。下一集,开启多任务系统。
|