He estado experimentando con técnicas para encender y apagar rápidamente los pines de salida digital en un Arduino. Este es el código que uso:
#define PIN3_ON PORTD |= 0x8
#define PIN3_OFF PORTD &= ~0x8
#define NOP __asm__ __volatile__ ("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t")
void setup() {
pinMode(3, OUTPUT);
}
void loop()
{
cli();
while (1) {
PIN3_ON;
NOP;
NOP;
PIN3_OFF;
NOP;
NOP;
}
}
Cuando observo la salida bajo un osciloscopio, veo una especie de oscilación que decae rápidamente después de que se apaga el pin:
He observado esto en un Arduino Uno y Nano328. ¿A qué se debe esta oscilación?
Intente enganchar su cable de tierra en el pin de tierra que está físicamente más cerca del pin que está mirando. Si eso no cambia nada, y si puede, elimine cualquier holgura en el cable de tierra de su alcance envolviéndolo alrededor de la sonda.
No puedo encontrar un buen artículo desde el principio (estoy seguro de que todos los fabricantes de visores tienen uno). Estos son algunos consejos que conozco:
(Si alguien que lea esto conoce un buen artículo o una presentación de YouTube, publique un enlace; esta es una de esas cosas de las que he recopilado fragmentos a lo largo de los años, pero que nunca he tenido que articular claramente).
Tim Wescott
murphy engranajeide
analogsystemsrf