Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: demo2.c
- * Author: Alejo
- *
- * Created on 6 de mayo de 2020, 16:13
- */
- // Blink --> Activar la salida RD1 un cierto tiempo y desactivar RD1 otro tiempo
- // Conmutador: Invertir el estado de la salida salida, por cada flanco ascendente en la entrada.
- #include "config.h" //--> https://pastebin.com/iCVtqpfB
- //config.c --> https://pastebin.com/KRXRaxR8
- #define CONFIGURAR_LED_TEST TRISD1=0
- #define ENCENDER_LED_TEST LD1=1
- #define APAGAR_LED_TEST LD1=0
- //#define ACTIVAR_SALIDA LATD |= 0b00000010 //Poner en alto el bit 0 (RD0)
- //#define DESACTIVAR_SALIDA LATD &= ~0b00000010 //Poner en bajo el bit 0 (RD0)
- //#define ACTIVAR_SALIDA LATDbits.LD1=1
- //#define DESACTIVAR_SALIDA LATDbits.LD1=0
- //Para interactuar con la SALIDA, utilizar:
- #define CONFIGURAR_SALIDA TRISB7=0
- #define ACTIVAR_SALIDA LB7=1
- #define DESACTIVAR_SALIDA LB7=0
- #define INVERTIR_SALIDA LB7 = !LB7
- //Para interactuar con la ENTRADA, utilizar:
- #define CONFIGURAR_ENTRADA TRISA0=1
- #define ENTRADA_ACTIVADA RA0
- //---------------------------------------------------------------------
- void BlinkSincronico(void)
- {
- static unsigned long centiseg_ant=0;
- const unsigned char tpo_espera=5;
- static bit salida_activada=0;
- //Actviar la salida, esperar un tiempo, desactivar la salida, esperar un tiempo
- if(centiseg - centiseg_ant < tpo_espera) return;
- centiseg_ant= centiseg;
- salida_activada = !salida_activada;
- if(salida_activada) ENCENDER_LED_TEST;
- else APAGAR_LED_TEST;
- }
- //---------------------------------------------------------------------
- void Conmutador(void)
- {
- static bit entrada_activada_ant=0;
- //Invertir el estado de la salida salida,
- //por cada flanco ascendente en la entrada (CAMBIO DE BAJO A ALTO)
- if(ENTRADA_ACTIVADA == entrada_activada_ant) return;
- entrada_activada_ant= ENTRADA_ACTIVADA;
- if(ENTRADA_ACTIVADA)
- INVERTIR_SALIDA;
- }
- //---------------------------------------------------------------------
- void main(void)
- {
- setup();
- CONFIGURAR_LED_TEST;
- CONFIGURAR_SALIDA;
- CONFIGURAR_ENTRADA;
- while(1)
- {
- BlinkSincronico();
- Conmutador();
- }
- return;
- }
Add Comment
Please, Sign In to add comment