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
