flowchartx
Aktif Üye
- Katılım
- 18 Ağustos 2021
- Mesajlar
- 219
İyi akşamlar, ESP8266 için internetten bulduğum bir kod parçacığını denemem gerekiyor fakat bir türlü çalıştıramadım. Kodu aşağıya bırakıyorum.
Kodun çalışmama sebebi kütüphanelerin eksik olması.
VS code'da ESP için freertos kütüphanesini kurup denedim olmadı.
framework = esp8266-rtos-sdk kodu şu şekilde çalıştırmayı denedim yine olmadı
Acaba bilgisi olan yardım edebilir mi ?
Kodun çalışmama sebebi kütüphanelerin eksik olması.
VS code'da ESP için freertos kütüphanesini kurup denedim olmadı.
framework = esp8266-rtos-sdk kodu şu şekilde çalıştırmayı denedim yine olmadı
Acaba bilgisi olan yardım edebilir mi ?
Kod::
#include "Arduino.h"
const int probe = 23; // Probe pin (you should connect a proper pull-up/pull-down resistor there!)
const int serial_baudrate = 500000; // Don't go over 1MHz, otherwise you will read pretty much garbage
const int bufsize = 9000; // Size of the internal buffer (doesn't compile if too big)
const bool enable_bufmonitor = true; // Whether to enable the buffer-manager process
// Disabling it will leave more CPU power for the serial-manager process
const int bufmonitor_interval = 1000; // Time interval (in milliseconds) when to check for buffer space
// [ ====== INTERNAL ===== ]
// Buffer
typedef struct { // Elements of the buffer, run-length encoding
uint8_t elem;
uint16_t count; // Max = 65535 (max_run)
uint32_t t_start; // Timer of first reading
uint32_t t_end; // Timer of last reading
} bufelem_t;
const int max_run = 65535;
bufelem_t buf[bufsize];
int cons_idx = 0; // Buffer index for the consumer (serial-manager process)
int prod_idx = 0; // Buffer index for the producer (data-collector process)
bufelem_t *prod_ptr; // Buffer pointer for the producer (for speeding it up)
// Processes
TaskHandle_t sermanager_handle, bufmanager_handle;
// [ ===== INIT ===== ]
// NOTE: setup and loop already run on core1 of the ESP32
// Therefore, we use the setup() method for making some general initialization, then use Both the setup and the loop for the data-collector process
// Main setup will initialize the process(es) for core 0
void setup() {
// Enable serial communication here (will be used by both serial-manager and buffer-manager
Serial.begin(serial_baudrate);
// First disable the watchdog timer for core 0, otherwise it will reboot the ESP every 3/4 seconds
disableCore0WDT();
// Create the other task(s)
// Args: code function, name, stack size (in words), input parameter, priority (the higher the better), handle, core number
xTaskCreatePinnedToCore(sermanager, "serialManager", 10000, NULL, 1, &sermanager_handle, 0);
if (enable_bufmonitor) xTaskCreatePinnedToCore(bufmanager, "bufferManager", 10000, NULL, 1, &bufmanager_handle, 0);
// From now on, just care about core 1 tasks
datacollect_setup();
}
// Basically, just callata collector loop
void loop() {
datacollect_loop();
}