int main(void) { boardConfig(); tickConfig( 1, 0 ); digitalConfig( 0, ENABLE_DIGITAL_IO ); uint8_t dutyCycle = 0; /* 0 a 255 */ analogConfig( ENABLE_ANALOG_INPUTS ); pwmConfig( 0, PWM_TIMERS_ENABLE ); pwmConfig( PWM0, PWM_OUTPUT_ENABLE ); pwmConfig( PWM7, PWM_OUTPUT_ENABLE ); pwmWrite( PWM7, 0 ); pwmWrite( PWM0, 0 ); while(1) { dutyCycle = analogRead(AI1) / 4 ; pwmWrite( PWM7, dutyCycle ); pwmWrite( PWM0, dutyCycle ); } return 0 ; }
void StartupHook(void) { boardConfig(); setupUart(); ReadTec1Init(); BlinkLed3Init(); ShowElapsedTimeInit(); }
/* FUNCION que inicializa la placa, teclas y leds. */ static void boardAndIOConfig(void){ /* Inicializar la placa */ boardConfig(); /* Inicializar DigitalIO */ digitalConfig( 0, ENABLE_DIGITAL_IO ); /* Configuración de pines de entrada para Teclas de la CIAA-NXP */ digitalConfig( TEC1, INPUT ); digitalConfig( TEC2, INPUT ); digitalConfig( TEC3, INPUT ); digitalConfig( TEC4, INPUT ); /* Configuración de pines de salida para Leds de la CIAA-NXP */ digitalConfig( LEDR, OUTPUT ); digitalConfig( LEDG, OUTPUT ); digitalConfig( LEDB, OUTPUT ); digitalConfig( LED1, OUTPUT ); digitalConfig( LED2, OUTPUT ); digitalConfig( LED3, OUTPUT ); }
void StartupHook(void) { boardConfig(); UartMonitorInit(); TecInit(); MonitorInit(); }
/* FUNCION PRINCIPAL, PUNTO DE ENTRADA AL PROGRAMA LUEGO DE RESET. */ int main(void){ /* ------------- INICIALIZACIONES ------------- */ /* Inicializar la placa */ boardConfig(); /* Inicializar el conteo de Ticks con resolución de 1ms, sin tickHook */ tickConfig( 1, 0 ); /* Inicializar DigitalIO */ digitalConfig( 0, ENABLE_DIGITAL_IO ); /* Configuración de pines de entrada para Teclas de la CIAA-NXP */ digitalConfig( TEC1, INPUT ); digitalConfig( TEC2, INPUT ); digitalConfig( TEC3, INPUT ); digitalConfig( TEC4, INPUT ); /* Configuración de pines de salida para Leds de la CIAA-NXP */ digitalConfig( LEDR, OUTPUT ); digitalConfig( LEDG, OUTPUT ); digitalConfig( LEDB, OUTPUT ); digitalConfig( LED1, OUTPUT ); digitalConfig( LED2, OUTPUT ); digitalConfig( LED3, OUTPUT ); /* Inicializar UART_USB a 115200 baudios */ uartConfig( UART_USB, 115200 ); uint8_t dato = 0; uint8_t dato1 = 1; uint8_t dato2 = 78; int32_t dato3 = 1234; /* Buffer */ static uint8_t uartBuff[10]; uartWriteByte( UART_USB, 'h' - 32 ); /* Envía 'H' */ uartWriteByte( UART_USB, 'A' + 32 ); /* Envía 'a' */ /* Enviar un Enter */ uartWriteByte( UART_USB, '\r' ); /* Envía '\r', retorno de carro */ uartWriteByte( UART_USB, '\n' ); /* Envía '\n', nueva línea */ uartWriteByte( UART_USB, dato1 + 48 ); /* Envía '1' */ uartWriteByte( UART_USB, ' ' ); /* Envía ' ' */ uartWriteByte( UART_USB, '1' ); /* Envía '1' */ uartWriteByte( UART_USB, 32 ); /* Envía ' ' */ /* Convertir un número entero de 2 dígitos ASCII y enviar */ uartWriteByte( UART_USB, (dato2/10) + 48 ); /* Envía '7' */ uartWriteByte( UART_USB, (dato2%10) + 48 ); /* Envía '8' */ uartWriteString( UART_USB, "\r\n" ); /* Enviar un Enter */ uartWriteByte( UART_USB, 'H' ); /* Envía 'H' */ uartWriteByte( UART_USB, 'o' ); /* Envía 'o' */ uartWriteByte( UART_USB, 'l' ); /* Envía 'l' */ uartWriteByte( UART_USB, 'a' ); /* Envía 'a' */ uartWriteByte( UART_USB, '\r' ); /* Envía '\r', retorno de carro */ uartWriteByte( UART_USB, '\n' ); /* Envía '\n', nueva línea */ uartWriteString( UART_USB, "Chau\r\n" ); /* Envía "Chau\r\n" */ uint8_t miTexto[] = "Hola de nuevo\r\n"; uartWriteString( UART_USB, miTexto ); /* Envía "Hola de nuevo\r\n" */ miTexto[0] = 'h'; uartWriteString( UART_USB, miTexto ); /* Envía "hola de nuevo\r\n" */ /* Conversión de muestra entera a ascii con base decimal usando itoa() */ itoa( dato3, uartBuff, 10 ); /* base 10 significa decimal */ uartWriteString( UART_USB, uartBuff ); uartWriteString( UART_USB, "\r\n" ); /* Enviar un Enter */ /* ------------- REPETIR POR SIEMPRE ------------- */ while(1) { /* Recibir byte de la UART_USB y guardarlo en la variable dato */ dato = uartReadByte( UART_USB ); /* Si el byte recibido es distinto de 0 (caracter NULL) se reenvía a la UART_USB realizando un eco de lo que llega */ if( dato ){ uartWriteByte( UART_USB, dato ); } } /* NO DEBE LLEGAR NUNCA AQUI, debido a que a este programa no es llamado por ningun S.O. */ return 0 ; }
/* FUNCION PRINCIPAL, PUNTO DE ENTRADA AL PROGRAMA LUEGO DE RESET. */ int main(void){ /* ------------- INICIALIZACIONES ------------- */ /* Inicializar la placa */ boardConfig(); /* Inicializar el conteo de Ticks con resolución de 1ms, sin tickHook */ tickConfig( 1, 0 ); /* Inicializar DigitalIO */ digitalConfig( 0, ENABLE_DIGITAL_IO ); /* Configuración de pines de entrada para Teclas de la CIAA-NXP */ digitalConfig( TEC1, INPUT ); digitalConfig( TEC2, INPUT ); digitalConfig( TEC3, INPUT ); digitalConfig( TEC4, INPUT ); /* Configuración de pines de salida para Leds de la CIAA-NXP */ digitalConfig( LEDR, OUTPUT ); digitalConfig( LEDG, OUTPUT ); digitalConfig( LEDB, OUTPUT ); digitalConfig( LED1, OUTPUT ); digitalConfig( LED2, OUTPUT ); digitalConfig( LED3, OUTPUT ); /* Inicializar UART_USB a 115200 baudios */ uartConfig( UART_USB, 115200 ); /* Inicializar AnalogIO */ /* Posibles configuraciones: * ENABLE_ANALOG_INPUTS, DISABLE_ANALOG_INPUTS, * ENABLE_ANALOG_OUTPUTS, DISABLE_ANALOG_OUTPUTS */ analogConfig( ENABLE_ANALOG_INPUTS ); /* ADC */ analogConfig( ENABLE_ANALOG_OUTPUTS ); /* DAC */ /* Configuración de estado inicial del Led */ bool_t ledState1 = OFF; /* Contador */ uint32_t i = 0; /* Buffer */ static uint8_t uartBuff[10]; /* Variable para almacenar el valor leido del ADC CH1 */ uint16_t muestra = 0; /* Variables de delays no bloqueantes */ delay_t delay1; delay_t delay2; /* Inicializar Retardo no bloqueante con tiempo en ms */ delayConfig( &delay1, 500 ); delayConfig( &delay2, 200 ); /* ------------- REPETIR POR SIEMPRE ------------- */ while(1) { /* delayRead retorna TRUE cuando se cumple el tiempo de retardo */ if ( delayRead( &delay1 ) ){ /* Leo la Entrada Analogica AI0 - ADC0 CH1 */ muestra = analogRead( AI0 ); /* Envío la primer parte del mnesaje a la Uart */ uartWriteString( UART_USB, (uint8_t*)"AI0 value: " ); /* Conversión de muestra entera a ascii con base decimal */ itoa( muestra, uartBuff, 10 ); /* 10 significa decimal */ /* Enviar muestra y Enter */ uartWriteString( UART_USB, uartBuff ); uartWriteString( UART_USB, (uint8_t*)";\r\n" ); /* Escribo la muestra en la Salida AnalogicaAO - DAC */ analogWrite( AO, muestra ); } /* delayRead retorna TRUE cuando se cumple el tiempo de retardo */ if ( delayRead( &delay2 ) ){ if( ledState1 ) ledState1 = OFF; else ledState1 = ON; digitalWrite( LED1, ledState1 ); /* Si pasaron 20 delays le aumento el tiempo */ i++; if( i == 20 ) delayWrite( &delay2, 1000 ); } } /* NO DEBE LLEGAR NUNCA AQUI, debido a que a este programa no es llamado por ningun S.O. */ return 0 ; }
int main(void) { uint8_t estado = estado_R; delay_t delay; /* ------------- INICIALIZACIONES ------------- */ /* Inicializar la placa */ boardConfig(); /* Inicializar DigitalIO */ digitalConfig( 0, INITIALIZE ); tickConfig(1); /* Configuración de pines de entrada para Teclas de la CIAA-NXP */ digitalConfig( TEC1, INPUT ); digitalConfig( TEC2, INPUT ); digitalConfig( TEC3, INPUT ); digitalConfig( TEC4, INPUT ); /* Configuración de pines de salida para Leds de la CIAA-NXP */ digitalConfig( LEDR, OUTPUT ); digitalConfig( LEDG, OUTPUT ); digitalConfig( LEDB, OUTPUT ); digitalConfig( LED1, OUTPUT ); digitalConfig( LED2, OUTPUT ); digitalConfig( LED3, OUTPUT ); delayConfig(&delay,1); uartConfig( UART_USB, uint32_t baudRate ); /* ------------- REPETIR POR SIEMPRE ------------- */ while(1) { if( delayRead( &delay ) ){ switch(estado){ case estado_R: digitalWrite( LED1, 1 ); digitalWrite( LED2, 0 ); digitalWrite( LED3, 0 ); delayWrite( &delay, 2000 ); estado = estado_RA; break; case estado_RA: digitalWrite( LED1, 1 ); digitalWrite( LED2, 1 ); digitalWrite( LED3, 0 ); delayWrite( &delay, 1000 ); estado = estado_V; break; case estado_V: digitalWrite( LED1, 0 ); digitalWrite( LED2, 0 ); digitalWrite( LED3, 1 ); delayWrite( &delay, 3000 ); estado = estado_A; break; case estado_A: digitalWrite( LED1, 0 ); digitalWrite( LED2, 1 ); digitalWrite( LED3, 0 ); delayWrite( &delay, 1000 ); estado = estado_R; break; } } } /* NO DEBE LLEGAR NUNCA AQUI, debido a que a este programa no es llamado por ningun S.O. */ return 0 ; }
int main(void){ /* ------------- INICIALIZACIONES ------------- */ boardConfig(); gpioConfig(TEC1, GPIO_INPUT); gpioConfig(TEC2, GPIO_INPUT); gpioConfig(TEC3, GPIO_INPUT); gpioConfig(TEC4, GPIO_INPUT); gpioConfig(LED1, GPIO_OUTPUT); gpioConfig(LED2, GPIO_OUTPUT); gpioConfig(LED3, GPIO_OUTPUT); bool_t led1 = false; bool_t led2 = false; bool_t led3 = false; int delayTime1 = 250; int delayTime2 = 250; int delayTime3 = 250; delay_t delay1; delay_t delay2; delay_t delay3; delayConfig( &delay1, delayTime1 ); delayConfig( &delay2, delayTime2 ); delayConfig( &delay3, delayTime3 ); while(1) { if (delayRead(&delay1)) { gpioWrite( LED1, led1 ); led1 = ! led1; delayWrite(&delay1,delayTime1); } if (delayRead(&delay2)) { gpioWrite( LED2, led2 ); led2 = ! led2; delayWrite(&delay2,delayTime2); } if (delayRead(&delay3)) { gpioWrite( LED3, led3 ); led3 = ! led3; delayWrite(&delay3,delayTime3); } if (! gpioRead(TEC1)) { delayTime1 = 250; delayTime2 = 250; delayTime3 = 250; } if (! gpioRead(TEC2)) { delayTime1 = 250; delayTime2 = 500; delayTime3 = 750; } if (! gpioRead(TEC3)) { delayTime1 = 750; delayTime2 = 500; delayTime3 = 250; } if (! gpioRead(TEC4)) { delayTime1 = 1000; delayTime2 = 1000; delayTime3 = 1000; } } return 0 ; }
void StartupHook(void) { boardConfig(); AsteriskInit(); }
/* FUNCION PRINCIPAL, PUNTO DE ENTRADA AL PROGRAMA LUEGO DE RESET. */ int main(void){ /* ------------- INICIALIZACIONES ------------- */ /* Inicializar la placa */ boardConfig(); /* Inicializar el conteo de Ticks con resolución de 1ms, sin tickHook */ tickConfig( 1, 0 ); /* Inicializar DigitalIO */ digitalConfig( 0, ENABLE_DIGITAL_IO ); /* Configuración de pines de entrada para Teclas de la CIAA-NXP */ digitalConfig( TEC1, INPUT ); digitalConfig( TEC2, INPUT ); digitalConfig( TEC3, INPUT ); digitalConfig( TEC4, INPUT ); /* Configuración de pines de salida para Leds de la CIAA-NXP */ digitalConfig( LEDR, OUTPUT ); digitalConfig( LEDG, OUTPUT ); digitalConfig( LEDB, OUTPUT ); digitalConfig( LED1, OUTPUT ); digitalConfig( LED2, OUTPUT ); digitalConfig( LED3, OUTPUT ); /* Inicializar UART_USB a 115200 baudios */ uartConfig( UART_USB, 115200 ); /* Estructura RTC */ RTC_t rtc; rtc.year = 2016; rtc.month = 7; rtc.mday = 3; rtc.wday = 1; rtc.hour = 13; rtc.min = 17; rtc.sec= 0; bool_t val = 0; uint8_t i = 0; /* Inicializar RTC */ val = rtcConfig( &rtc ); delay_t delay1s; delayConfig( &delay1s, 1000 ); delay(2000); for( i=0; i<10; i++ ){ /* Leer fecha y hora */ val = rtcRead( &rtc ); /* Mostrar fecha y hora en formato "DD/MM/YYYY, HH:MM:SS" */ showDateAndTime( &rtc ); delay(1000); } rtc.year = 2016; rtc.month = 7; rtc.mday = 3; rtc.wday = 1; rtc.hour = 14; rtc.min = 30; rtc.sec= 0; /* Establecer fecha y hora */ val = rtcWrite( &rtc ); /* ------------- REPETIR POR SIEMPRE ------------- */ while(1) { if( delayRead( &delay1s ) ){ /* Leer fecha y hora */ val = rtcRead( &rtc ); /* Mostrar fecha y hora en formato "DD/MM/YYYY, HH:MM:SS" */ showDateAndTime( &rtc ); } } /* NO DEBE LLEGAR NUNCA AQUI, debido a que a este programa no es llamado por ningun S.O. */ return 0 ; }