CCCPaste

BlinkSimetrico_PIC

/*
 * 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

#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          LD1=1
#define DESACTIVAR_SALIDA       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



void BlinkSimetrico(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) ACTIVAR_SALIDA;
    else                DESACTIVAR_SALIDA;
    }

void main(void) 
    {
    setup();
    CONFIGURAR_LED_TEST;

    while(1)
        {
        BlinkSimetrico();
        }
    return;
    }