#include <Arduino_FreeRTOS.h>
#include <task.h>
void task1(void *parameter)
{
Serial.println("Task 1 Started!!!");
int currentTickTime = xTaskGetTickCount();
int xlastTickTime;
while (1)
{
Serial.print("Last Time = ");
Serial.println(pdTICKS_TO_MS(xlastTickTime));
vTaskDelayUntil(&xlastTickTime, pdMS_TO_TICKS(400));
Serial.print("current Time = ");
Serial.println(pdTICKS_TO_MS(currentTickTime));
vTaskDelayUntil(¤tTickTime, pdMS_TO_TICKS(400));
int timedifference = currentTickTime - xlastTickTime;
Serial.println(pdTICKS_TO_MS(timedifference));
float frequency = 1000/timedifference ;
Serial.print ("frequency");
}
}
void task2(void *parameter)
{
Serial.println("Task 2 Started!!!");
int currentTickTime = xTaskGetTickCount();
int xlastTickTime ;
while (1)
{
Serial.print("Last Time = ");
Serial.println(pdTICKS_TO_MS(xlastTickTime));
vTaskDelayUntil(&xlastTickTime, pdMS_TO_TICKS(400));
Serial.print("current Time = ");
Serial.println(pdTICKS_TO_MS(currentTickTime));
vTaskDelayUntil(¤tTickTime, pdMS_TO_TICKS(400));
int timedifference = currentTickTime - xlastTickTime;
Serial.println(pdTICKS_TO_MS(timedifference));
float frequency = 1000/timedifference ;
Serial.println ("frequency");
}
}
void setup()
{
Serial.begin(300);
xTaskCreate(task1, "Task1", 128, NULL, 1, NULL);
xTaskCreate(task2, "Task2", 128, NULL, 1, NULL);
vTaskStartScheduler();
}
void loop()
{
}