Módulo Delayms Autor : Pedro José Ramírez Gutiérrez pjanragu en telefonica.net Rutina que genera un retardo en ms Antes necesita definir el valor de la frecuencia del cristal #define FOSC_HZ 20000000 #include <delayms.h> delayms La función genera un retardo en milisegundos. void delayms(unsigned int retraso); Ejemplo de DelayMs para compilar necesitas los siguientes comandos. Ejemplo de compilación : ./compila.sh ej_delay 16f877a ej_delay.c #include <pic/p16f877a.h> #define FOSC_HZ 20000000 #include <uart.h> #include <pinio.h> /*define los PIN_XY*/ #include <delayms.h> int main (void) { char c=0; char INTRO[8]="TECLEA\n"; int T=100; delayms(100); uart_open(SET_115200_8N1); uart_puts(INTRO); while(c!=13) { if(uart_kbhit()==1) { c=uart_getc()-'0'; uart_putc(c+'0'); T=100*c; } delayms(T); output_high(PIN_C2); delayms(T); output_low(PIN_C2); } uart_close(); return 0; }