Exemple #1
0
int main(void)
{
    ANCON0 = 0XFF;  /*Desativamos las salidas analogicas*/
    ANCON1 = 0XFF;  /*Desativamos las salidas analogicas*/

    Timers_Init();                      /*inicializamos el driver para genere una interrupcion cada 5ms*/
    Timers_SetTime(0, 100/timers_ms);          /*recargamos el canal 0 con un valor de 100ms*/
    Timers_SetTime(1, 200/timers_ms);          /*recargamos el canal 1 con un valor de 200ms*/
    Timers_SetTime(2, 500/timers_ms);          /*recargamos el canal 2 con un valor de 500ms*/
    
    Gpios_PinDirection(GPIOS_PORTB, 7, GPIOS_OUTPUT);          /*puerto RB7 como salida*/
    Gpios_PinDirection(GPIOS_PORTB, 6, GPIOS_OUTPUT);          /*puerto RB6 como salida*/
    Gpios_PinDirection(GPIOS_PORTB, 5, GPIOS_OUTPUT);          /*puerto RB5 como salida*/

    __ENABLE_INTERRUPTS();   /*se habilitan las interrupciones globales con prioridad*/

    while (1)
    {
        /*parpadeamos el primer led (Puerto B, Pin 7)*/
        if(Timers_u16GetTime(0) == 0)/*preguntamos si la interrupcion decrmento hasta llegar a 0 el canal 0*/
        {
            Timers_SetTime(0, 100/timers_ms);/*se cumplen los 100ms asi que volvemos a recargar el mismo canal */
            Gpios_TogglePin(GPIOS_PORTB, 7);        /*invierto el estado del led conectado al puerto B pin 7*/
        }

        /*parpadeamos el segundo led (Puerto B, Pin 6)*/
        if(Timers_u16GetTime(1) == 0)/*preguntamos si la interrupcion decrmento hasta llegar a 0 el canal 1*/
        {
            Timers_SetTime(1, 200/timers_ms);/*se cumplen los 200ms asi que volvemos a recargar el mismo canal */
            Gpios_TogglePin(GPIOS_PORTB, 6);        /*invierto el estado del led conectado al puerto B pin 6*/
        }

        /*parpadeamos el primer led (Puerto B, Pin 5)*/
        if(Timers_u16GetTime(2) == 0)/*preguntamos si la interrupcion decrmento hasta llegar a 0 el canal 2*/
        {
            Timers_SetTime(2, 500/timers_ms);/*se cumplen los 500ms asi que volvemos a recargar el mismo canal */
            Gpios_TogglePin(GPIOS_PORTB, 5);        /*invierto el estado del led conectado al puerto B pin 5*/
        }
    }
}
Exemple #2
0
void main(void)
{
    ANCON0 = 0XFF;  /*Desativamos las salidas analogicas*/
    ANCON1 = 0XFF;  /*Desativamos las salidas analogicas*/

    Gpios_PinDirection(GPIOS_PORTA, 1, GPIOS_OUTPUT);          /*puerto RA1 como salida*/

    while (1)
    {
        Delays_ms(100);                         /*retardo 100 ms para observar el estado del led*/
        Gpios_TogglePin(GPIOS_PORTA, 1);        /*invierto el estado del led conectado al puerto A pin 1*/
    }
}
Exemple #3
0
int main(void)
{
    System_EnablePLL(); /*micro a 48MHz, esto es obligatorio para el USB*/
    UsbCDC_Init(9600);  /*inicia emulacion serial a 9600 baudios*/
    Gpios_PinDirection(GPIOS_PORTA, 1, GPIOS_OUTPUT);/*pin RA1 como salida*/
    
    while(1)
    {
        if(UsbCDC_bEnumerated() == _TRUE) /*usb enumarado*/
        {
            i = UsbCDC_u8RxData( &buffer[0], 1 );/*recivimos datos por usb serial*/
            if((i > 0) && (buffer[0] == 't'))/*si se recivio un dato y este es la letra t*/
            {
                Gpios_TogglePin(GPIOS_PORTA, 1);/*invierto estado del led*/
            }
        }
    }
}