/* * 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(); } }