AtTiny45 read lag?

0

He configurado 2 configuraciones de AtTiny45 como esta (la de la izquierda también está conectada a la alimentación): desdedondeuno(elizquierdo)estágenerandounaseñalque(cuandosemide)seveasí: El segundo ahora ejecuta este código para pasar la señal desde una entrada a una salida:

int inPin = 3;
int outPin = 4;

void setup() {
  pinMode(inPin, INPUT);
  digitalWrite(inPin, HIGH);
  pinMode(outPin, OUTPUT);
}

void loop() {
  digitalWrite(outPin, digitalRead(inPin));
}

Pero en lugar de parecerse al original, se ve así:

Los Tinys están funcionando a una velocidad de 8Mhz.

    
pregunta Busti

2 respuestas

0

Según el código, ¿supongo que está utilizando las bibliotecas de Arduino?

Si es así, luego, al mirar su tablero de pruebas y su código, parece que podría tener sus pines invertidos.

En Arduino-land en un ATTINY 45, el "pin" como se usa para pinMode () y readDigital () no corresponde a los pines físicos numerados reales en el dispositivo ...

(de esto útil sitio)

Tal vez intente cambiar los valores de pin en su código a este ...

int inPin = 4;
int outPin = 3;

void setup() {
  pinMode(inPin, INPUT);
  digitalWrite(inPin, HIGH);
  pinMode(outPin, OUTPUT);
}

void loop() {
  digitalWrite(outPin, digitalRead(inPin));
}

... y adjunte su alcance al pin físico # 2 (Arduino pin # 3) en el dispositivo y vea lo que obtiene.

También tenga en cuenta que las funciones digitalRead () y digitalWrite () en la biblioteca de Arduino son notoriamente lentas, por lo que, dependiendo de la rapidez con la que intente duplicar los cambios, es posible que desee ver DigitalWriteFast library o manipulación directa del puerto.

    
respondido por el bigjosh
0

Intente agregar un "circuito de restablecimiento adecuado":

simular este circuito : esquema creado usando CircuitLab

No menciona desde dónde está alimentando su placa, puede haber mucho ruido y su reinicio de su MCU. Al agregar un pull-up más fuerte y un capacitor, se está filtrando el ruido que puede aparecer en su fuente de alimentación o en la línea RESET.

    
respondido por el Golaž

Lea otras preguntas en las etiquetas