diff --git a/GPIO/ESP32/ring.ESP32C3.ino b/GPIO/ESP32/ring.ESP32C3.ino new file mode 100644 index 0000000000000000000000000000000000000000..60b2c533d01a94176e5b112665ecef5551a5f94f --- /dev/null +++ b/GPIO/ESP32/ring.ESP32C3.ino @@ -0,0 +1,48 @@ +// +// ring.ESP32C3.ino +// ESP32C3 ring oscillator test +// connect GPIO 8 and 20 +// +// Neil Gershenfeld 12/26/22 +// +// This work may be reproduced, modified, distributed, +// performed, and displayed for any purpose, but must +// acknowledge this project. Copyright is retained and +// must be preserved. The work is provided as is; no +// warranty is provided, and users accept all liability. +// + +uint32_t input,output; + +void setup() { + pinMode(8,OUTPUT); + output = (1 << 8); + input = (1 << 20); + } + +void loop() { + // + // direct port I/O version + // 3.79 MHz at 160 MHz clock + // + /**/ + while (1) { + if (GPIO.in.val & input) + GPIO.out_w1tc.val = output; + else + GPIO.out_w1ts.val = output; + } + /**/ + // + // Arduino version + // 736 kHz at 166 MHz clock + // + /* + while (1) { + if (digitalRead(20)) + digitalWrite(8,LOW); + else + digitalWrite(8,HIGH); + } + */ + }