/* Very basic example that just demonstrates we can run at all! */ #include "esp_common.h" #include "FreeRTOS.h" #include "task.h" #include "espressif/blob_prototypes.h" #include "queue.h" void task1(void *pvParameters) { xQueueHandle *queue = (xQueueHandle *)pvParameters; printf("Hello from task1!\r\n"); uint32_t count = 0; while(1) { vTaskDelay(100); xQueueSend(*queue, &count, 0); count++; } } void task2(void *pvParameters) { printf("Hello from task 2!\r\n"); xQueueHandle *queue = (xQueueHandle *)pvParameters; while(1) { uint32_t count; if(xQueueReceive(*queue, &count, 1000)) { printf("Got %d\n", count); } else { printf("No msg :(\n"); } } } static xQueueHandle mainqueue; void user_init(void) { uart_div_modify(0, UART_CLK_FREQ / 115200); printf("SDK version:%s\n", system_get_sdk_version()); mainqueue = xQueueCreate(10, sizeof(uint32_t)); xTaskCreate(task1, (signed char *)"tsk1", 256, &mainqueue, 2, NULL); xTaskCreate(task2, (signed char *)"tsk2", 256, &mainqueue, 2, NULL); }