4.1 Tasks
A task is created by calling the function xTaskCreate(taskName, pcName,
                stackDepth, pvParameters, priority, pxCreatedTask). Tasks are typically
            implemented as an infinite loop. See the example below on how to implement a task.
xTaskCreate(exampleTask, "example", configMINIMAL_STACK_SIZE, NULL, 1, NULL);
void exampleTask(void *pvParams){
    while(1){
        //do task work
    }
}