示例#1
0
文件: main.c 项目: gRighetti/UCC
int main(void) {
	//char str_tx[40];

	bsp_Init();
	RF_PwrUpRx();                           // Enciendo Radio

	while (1) {
		/*
		 //.................................................... Para mandar la trama del puerto serie
		 if (bspFlags.enviarDato == 1) {
		 bspFlags.enviarDato = 0;
		 *//*
		 rxBuffer = 1;
		 for (i = 0; i < 13; i++) {
		 checkSum += (uint8_t) bufferSerie[i];
		 }
		 rxPacket[0] = rxBuffer;
		 for (i = 0; i < 13; i++) {
		 rxPacket[i + 1] = bufferSerie[i];
		 }
		 rxPacket[15] = checkSum;
		 */
		/*
		 for (i = 0; i <= RETRANSMISION; i++) {
		 RF_SendPacket(1, bufferSerie, 20);
		 }
		 bsp_msDelay(100);
		 led_Toggle(LedVerde);
		 }*/

		//....................................................
		if (RF_rxDataReady()) {
			RF_getRxPacket(&rxBufferRecibi[0], 16);
			procesar_datos();
		}
		/*
		 if (uart_rxData()) {
		 uart_rxGetPack();
		 }
		 */
		//----------------Puerto Serie-------------------
		if (bspFlags.enviarSerie) {
			//Led_On(LedVerde);
			bspFlags.enviarSerie = 0;

			//serie_SendString(rx_UartBuf);
			serie_SendString(bufferSerie);
			//serie_SendString(rxBufferRecibi);

			led_On(LedRojo);
			bsp_msDelay(100);
			led_Off(LedRojo);
			//led_Off(LedVerde);
		}

		if (RF_rxDataReady()) {
			//led_On(LedRojo);

			led_On(LedVerde);
			RF_getRxPacket(&rxBufferRecibi[0], 18);
			bsp_msDelay(100);
			led_Off(LedVerde);
		}

		if (bspFlags.enviarDato) {
			bspFlags.enviarDato = 0;
			RF_getRxPacket(&rxBufferRecibi[0], 18);
			led_On(LedRojo);
			bsp_msDelay(100);
			led_Off(LedRojo);
		}
	}
}
示例#2
0
/*******************************************************************************
	Routine Name:	main
	Form:			int main( void )
	Parameters:		void
	Return value:	int
	Description:	main
*******************************************************************************/
int main( void )
{
	/*=== Main initialize. ===*/
	/*--- Peripheral. ---*/
	_initPeri();

	/*--- State. ---*/
	_initState();

	/*=== Main loop. ===*/
	for (;;)
	{
		/*=== Clear WDT. ===*/
		if( _clrWdt == CLR_WDT ) {
			main_clrWDT();
		}

		if( WDTR == FLG_CLR ) {
			switch( state_exec_cnt / CONTINU_STATE_COUNT ) {
				case 0:	led_On();					break;
				case 1:	led_f_Off();	led_cde_On();	break;
				case 2:	led_cde_Off();	led_f_On();		break;
				default:	led_Off();					break;
			}

			if( _ledChange == FLG_SET){
				if( state_exec_cnt == STATE_COUNT_MAX ) {
					state_exec_cnt = STATE_COUNT_MIN;
				}

				if( state == STATE_RED_GREEN ) {
					if( stepGreenLed == STEP_LED_MAX ) {
						state = STATE_GREEN_RED;
					}
					else {
						stepRedLed = STEP_LED_MAX;
						stepGreenLed += STEP_UP;
						stepBlueLed = STEP_LED_MIN;
					}
				}
				if( state == STATE_GREEN_RED ) {
					if( stepRedLed == STEP_LED_MIN ) {
						state = STATE_GREEN_BLUE;
					}
					else {
						stepRedLed -= STEP_DOWN;
						stepGreenLed = STEP_LED_MAX;
						stepBlueLed = STEP_LED_MIN;
					}
				}
				if( state == STATE_GREEN_BLUE ) {
					if( stepBlueLed == STEP_LED_MAX ) {
						state = STATE_BLUE_GREEN;
					}
					else {
						stepRedLed = STEP_LED_MIN;
						stepGreenLed = STEP_LED_MAX;
						stepBlueLed += STEP_UP;
					}
				}
				if( state == STATE_BLUE_GREEN ) {
					if( stepGreenLed == STEP_LED_MIN ) {
						state = STATE_BLUE_RED;
					}
					else {
						stepRedLed = STEP_LED_MIN;
						stepGreenLed -= STEP_DOWN;
						stepBlueLed = STEP_LED_MAX;
					}
				}
				if( state == STATE_BLUE_RED ) {
					if( stepRedLed == STEP_LED_MAX ) {
						state = STATE_RED_BLUE;
					}
					else {
						stepRedLed += STEP_UP;
						stepGreenLed = STEP_LED_MIN;
						stepBlueLed = STEP_LED_MAX;
					}
				}
				if( state == STATE_RED_BLUE ) {
					if( stepBlueLed == STEP_LED_MIN ) {
						state = STATE_RED_GREEN;
						state_exec_cnt++;
					}
					else {
						stepRedLed = STEP_LED_MAX;
						stepGreenLed = STEP_LED_MIN;
						stepBlueLed -= STEP_DOWN;
					}
				}
			led_DutySet();
			_ledChange = FLG_CLR;
			}
		}
		else {
			led_On();
			stepRedLed = STEP_LED_MAX;
			stepGreenLed = STEP_LED_MAX;
			stepBlueLed = STEP_LED_MAX;
			led_DutySet();
		}
	}

	return 0;
}