void initBLE(void) { ppsOutConfig(PPS_U2TX, 18); ppsInConfig(PPS_U2RX, 9); uartConfig(UART_CH2, 115200, UART_8N1_NO_HANDSHAKE); IFS1bits.U2TXIF = 0; uartRxIsrEnable(UART_CH2); uartTxIsrEnable(UART_CH2); SW_WAKE = 1; // Passe en mode commande while (StatutRadio != MODE_COMMAND); radioSendString(dataSF); radioSendChar(END_MSG); radioSendString(dataSS); radioSendChar(END_MSG); radioSendString(dataSR); radioSendChar(END_MSG); radioSendString(dataReset); radioSendChar(END_MSG); // __delay_ms(5000); // radioSendString("F"); // radioSendChar(END_MSG); __delay_ms(5000); // on veut être sûr que l'autre est acitf int cool =1; radioSendString(connection); // on considère qu'on se connecte tjrs au même radioSendChar(END_MSG); while (StatutRadio != CONNECTED); radioSendString("I"); radioSendChar(END_MSG); }
void UART_activate(){ P6SEL &= ~BIT1; P6DIR |= BIT1; P6OUT |= BIT1; P7SEL &= ~BIT6; P7DIR |= BIT6; P7OUT |= BIT6; P3SEL &= ~BIT3; P3DIR |= BIT3; P3OUT |= BIT3; UCA0_isrActivate(UCA0_isrRegister(uartUca0RxIsr, uartUca0TxIsr)); uartConfig(); }
void UartMonitorInit() { uartConfig( UART_USB, 115200 ); uartWriteString( UART_USB, "ready osek ej21libs build 20\n"); }
void ShowElapsedTimeInit() { uartConfig( UART_USB, 115200 ); uartWriteString( UART_USB, "ready osek v3\n"); }
/* 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 ; }
/*==================[declaraciones de funciones internas]====================*/ void setupUart() { uartConfig( UART_USB, 115200 ); uartWriteString( UART_USB, "ready osek ej04osek build 0004\n"); }
void AsteriskInit() { uartConfig( UART_USB, 115200 ); uartWriteString( UART_USB, "ready osek ej10\n"); }
/* 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 ; }