typedef struct{
byte pin;
int32_t delayTime;
}LEDFLASH;
void ledflash(void *pt)
{
LEDFLASH *led=(LEDFLASH*)pt;
byte pin=led->pin;
int delayTime=led->delayTime;
pinMode(pin, OUTPUT);
while(1)
{
digitalWrite(pin,!digitalRead(pin));
vTaskDelay(delayTime);
}
}
void setup() {
// put your setup code here, to run once:
LEDFLASH LED1;
LED1.pin=12;
LED1.delayTime=2000;
void *pvPin =(void *)&LED1;
LEDFLASH LED2;
LED2.pin=13;
LED2.delayTime=1000;
void *pvPin2 =(void *)&LED2;
LEDFLASH LED3;
LED3.pin=14;
LED3.delayTime=100;
void *pvPin3 =(void *)&LED3;
xTaskCreate(ledflash,"FLASH LED",1024,pvPin,1,NULL);
xTaskCreate(ledflash,"FLASH LED",1024,pvPin2,1,NULL);
xTaskCreate(ledflash,"FLASH LED",1024,pvPin3,1,NULL);
}
void loop() {
// put your main code here, to run repeatedly:
}