Estoy trabajando en un proyecto con mi microcontrolador MBED y tengo algunos inconvenientes, porque soy nuevo en eso y me estoy confundiendo con cómo funciona exactamente todo.
Tengo mi MBED conectado a un 74HC595, que a su vez está conectado a una pantalla de 7 segmentos. Actualmente estoy intentando probar el segmento siete creando un tipo de contador que va de 0-9. Sin embargo, no estoy seguro de cómo hacer esto. A continuación se muestra mi código y cómo lo tengo conectado, tengo algunas declaraciones adicionales para el proyecto final, así que, por favor, ignórelas:
#include"mbed.h"
SPI spi(p11,p12, p13);
DigitalOut red(p25);
DigitalOut green(p26);
DigitalOut cs(p14);
DigitalIn button(p27); //enter
DigitalIn button2(p28); //down
DigitalIn button3(p29); //up
char switchWord;
char record;
int i;
int main() {
spi.format(8,0);
while(1) {
switchWord=0x3F;
if(button==1)
switchWord=switchWord^0x06;
if(button2==1)
switchWord=switchWord^0x5B;
cs=0;
record=spi.write(switchWord);
cs=1;
wait(0.01);
red=0;
green=0;
record=record&0x03;
if(record==1)
red=1;
if(record==2)
green=1;
if(record==3){
red=1;
green=1;
}
}
}
Obviamente, esto no funciona como lo deseo, he intentado varias formas diferentes de hacerlo contar, y he estado jugando con el cumplido de 2, pero ha pasado un tiempo desde que aprendí sobre eso, así que estoy realmente borroso. en él y no pude hacerlo funcionar. Obviamente, contar en este conjunto de binarios será diferente, ya que el segmento 7 muestra cero cuando los 6/7 LED están configurados en 1, en lugar de en todos los ceros, así que no puedo agregar el siguiente número o obtengo una visualización sin sentido. Eventualmente quiero poder contar de 0 a 9 presionando el primer botón, y contando hacia abajo con el segundo botón, pero ni siquiera puedo averiguar cómo hacer que pase de 0 a 1, así que si puedo obtener eso Creo que puedo hacer rodar la pelota.
¡Espero que todo esté claro y agradezco cualquier ayuda que pueda obtener! Gracias!
Alli