Address strip WS2812B: различия между версиями
Строка 43: | Строка 43: | ||
#include <Arduino.h> | #include <Arduino.h> | ||
#define LED_PIN 2 | #define LED_PIN 2 | ||
int led_status = | int led_status = HIGH; | ||
void ledUpdate() { | void ledUpdate(int v) { | ||
digitalWrite(LED_PIN, | digitalWrite(LED_PIN, v); | ||
} | } | ||
void ledBlink( void * parameter ) { | void ledBlink( void * parameter ) { | ||
const TickType_t xDelay = 1000 / portTICK_PERIOD_MS; | const TickType_t xDelay = 1000 / portTICK_PERIOD_MS; | ||
for(;;) { | |||
switch (led_status) | |||
{ | |||
case HIGH: | |||
led_status = LOW; | |||
break; | |||
default: | |||
led_status = HIGH; | |||
break; | |||
} | |||
ledUpdate(led_status); | |||
vTaskDelay(xDelay); | vTaskDelay(xDelay); | ||
Serial.printf("blink %d\n", led_status); | |||
} | } | ||
} | } | ||
void setupLedBlink() { | |||
pinMode(LED_PIN, OUTPUT); | |||
xTaskCreate( | xTaskCreate( | ||
ledBlink, /* Task function. */ | ledBlink, /* Task function. */ | ||
Строка 79: | Строка 77: | ||
1, /* Priority of the task. */ | 1, /* Priority of the task. */ | ||
NULL); /* Task handle. */ | NULL); /* Task handle. */ | ||
} | |||
void setup() { | |||
setupLedBlink(); | |||
} | } | ||