ayuda, interrupciones, contador

14 Apr 2015

hola que tal, estoy haciendo un contador de numeros hexadecimales, que va desde el 00 hasta el FF, estos numeros los muestro en display de 7 segmentos, ademas tengo 3 pushbuttons, 1 me debe manejar la cuenta ascendente y descendente, es decir, si le pico una vez al push debe contar ascendente y si le pico por segunda vez debe contar de manera descendente, es algo que no he podido.

el segundo push button debe aumentar la velocidad del conteo y aumentar el brillo del led, el tercer push button debe disminuir la velocidad del conteo y disminuir el brillo del del

ojala me pudieran ayudar, gracias.

lo estoy haciendo en KL25Z, y lo programo aqui en mbed, gracias

07 Apr 2016

Un poco tarde pero que has hecho hasta ahora?

Viendo tu problema me inclino que la solucion va por un Ticker al que le varias la frequencia.

18 Dec 2017

Cristian Fuentes wrote:

Un poco tarde pero que has hecho hasta ahora?

Viendo tu problema me inclino que la solucion va por un Ticker al que le varias la frequencia.

Sí, tiene pinta de que hay una desincronización con los elementos. Te dejo aquí un enlace a la clase Ticker por si te puede servir de ayuda.

Igualmente, te pongo algo de código por si te sirve de ayuda (sacado de esa página):

Toggle the blinking led after 5 seconds

  1. include "mbed.h" Ticker timer; DigitalOut led1(LED1); DigitalOut led2(LED2); int flip = 0; void attime() { flip = !flip; } int main() { timer.attach(&attime, 5); while(1) { if(flip == 0) { led1 = !led1; } else { led2 = !led2; } wait(0.2); } }

Fíjate en cómo le asocia la función attime con el valor de 5 segundos. Igual eso te puede ayudar.

Saludos.