User Tools

Site Tools


esp32:direct_pin_data_copy

This is an old revision of the document!


copy data from input pin to output pin - example ws8212 data stream

void loop() {
 
 
  uint64_t cnt = 0;
  register uint32_t cnt2 = 0;
  //disableCore0WDT();
  //disableCore1WDT();
  portDISABLE_INTERRUPTS();
  //disableCore0WDT();
  //disableCore1WDT();
  gpio_num_t pin = (gpio_num_t)(25 & 0x1F);
  int state=0;
  register int v1 = digitalRead(25);
  register int p1 = digitalRead(25);
  for (;;) {
    v1 = (GPIO_REG_READ(GPIO_IN_REG)  >> pin) & 1U;
    if (v1 != p1)
    {
      digitalWrite(27, v1);
      p1 = v1;
    }
    cnt2 ++;
    if (cnt2 % 1000000 == 0) {
      //Serial.println("loop");
      portENABLE_INTERRUPTS();
      portDISABLE_INTERRUPTS();
    }
  }
}
esp32/direct_pin_data_copy.1569520078.txt.gz · Last modified: by aistis