Código de Arduino - ¿Por qué necesitamos leer el flanco ascendente?

1

Estoy teniendo dificultades para entender por qué necesitamos leer el borde ascendente en lugar de usar ambos bordes.

Estamos haciendo un laboratorio escolar utilizando interrupciones en el código de Arduino, y entiendo que necesitamos la interrupción para leer el borde ascendente, pero ¿por qué estamos leyendo el borde ascendente ?

La pregunta que estoy tratando de responder específicamente es la parte B de lo siguiente:

Escriba un párrafo que explique cómo está midiendo la frecuencia. Asegúrese de incluir:

a. por qué debes usar una interrupción.

b. por qué habilitaste la interrupción en el RISING edge, en lugar de ambas transiciones.

c. Comente sobre la precisión de las mediciones de frecuencia de su Arduino

    
pregunta Tabitha

3 respuestas

2

Obviamente, esperan que respondas según el laboratorio o la clase, no según el uso real.

No hay ninguna razón por la que tengas que interrumpir el Rising Edge en lugar del Falling Edge, o al revés, o ambos. O interrupción de borde en lugar de interrupción de nivel.

Su diseño determina qué tipo de interrupción necesita. Una señal que está activa en nivel bajo necesitará un borde descendente o una interrupción de nivel bajo, mientras que una señal activa alta necesitará un borde ascendente o un nivel alto de interrupción .

A veces desea interrumpir en ambos lados de la señal, como por ejemplo de un sensor o botón. Alguien presionó un botón y desea hacer x cuando se presiona, y y cuando se suelta. O estás cronometrando cuánto tiempo pasa la señal de un estado al otro. Etc.

    
respondido por el Passerby
1

Si desea medir la frecuencia, debe medir el número de pulsos en un tiempo específico o un período de tiempo entre dos pulsos. En cualquier caso, debe comenzar / parar en el mismo umbral de inicio o fin de una señal, pero con el uso de ambos bordes no le dará la frecuencia, pero la duración del pulso

    
respondido por el Marko Buršič
0

No tiene que tener que usar interrupciones, y no tiene que usar solo el borde ascendente para medir la frecuencia. Estas son opciones de diseño de su sistema.

Piensa en cómo estás midiendo la frecuencia. Existen dos formas básicas: contar ciclos durante un tiempo fijo o medir el tiempo por ciclo. Piensa cómo harías cada uno de estos en una escala humana si la frecuencia que intentabas medir fuera lo suficientemente lenta.

La interrupción del flanco ascendente es como obtener un clic en cada ciclo. Puede mirar su reloj y contar los clics durante un período fijo, como 15 segundos. El otro método sería usar un cronómetro. Lo inicia con un clic y luego lo detiene en el siguiente.

Ahora, considere cómo provocar una interrupción (clic) en los bordes ascendentes y descendentes podría arruinar cualquiera de estos procedimientos. Podría ajustar la diferencia, pero ¿qué sucede si el tiempo de caída al flanco ascendente es diferente al de subida a caída?

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas