/*
* File: demo.c
* Author: Ing. Alejo S. Giles
*
* UNLPam
* Fac. de Ingeniería
* Computación II
*
* Created on 29 de abril de 2020, 17:26
*
* Compilador: XC8
*
* Funcionalidad:
* Blink Simetrico
*
*/
#include "config.h"
//Conectamos un LED en RD0
//Escribiendo el valor los registro
//#define CONFIGURAR_LED_TEST TRISD = TRISD & ~(1<<0)
//#define ENCENDER_LED_TEST LATD = LATD | 1
//#define APAGAR_LED_TEST LATD = LATD & 0b11111110
//#define CS_LED_TEST 2
//Accediendo por el nombre del bit
#define CONFIGURAR_LED_TEST TRISD0=0
#define ENCENDER_LED_TEST LD0=1
#define APAGAR_LED_TEST LD0=0
#define CS_LED_TEST 5
//Accediendo mediante la unión
//#define CONFIGURAR_LED_TEST TRISDbits.RD0=0
//#define ENCENDER_LED_TEST LATDbits.LD0=1
//#define APAGAR_LED_TEST LATDbits.LD0=0
//#define CS_LED_TEST 10
void BlinkAsimetrico(void)
{
const int t_off=8; //
const int t_on=2; //200ms
static unsigned long centiseg_ini=0;
static unsigned char t_espera=0;
static bit led=0;
if(centiseg-centiseg_ini < t_espera) return;
centiseg_ini=centiseg;
led= !led;
if(led)
{
ENCENDER_LED_TEST;
t_espera=t_on;
}
else
{
APAGAR_LED_TEST;
t_espera=t_off;
}
}
void main(void)
{
setup();
CONFIGURAR_LED_TEST;
while(1)
{
BlinkAsimetrico();
}
}