Exemple #1
0
cola_t UARTgetc(UART * uart)
{
	ColaCircular * cola = &uart->colaRx;

	if(ColaVacia(cola))
		return CAPI_ERROR;

	return ColaSacar(cola);
}
	struct ENEARIO *RetCola (struct FIFO **p,int *pp) {
		struct FIFO *q,*r;
		struct ENEARIO *Temp;
		if (!ColaVacia(*p)) {
			q = (*p)->Sig;
			r = q->Sig;
			Temp = r->Info;
			*pp = r->Nivel;
			q->Sig = r->Sig;
			if (r == *p)
				*p = q;
			delete r;
			return Temp;
		}
		else {
			printf ("Error...\n");
			return 0;
		}
	}
Exemple #3
0
void interfazHumana(void * parametrosTarea)
{
	portTickType ticker = xTaskGetTickCount();
	int estado = MAINMENU;
	char input;

	while(1)
	{
		if (estado == ESTACIONADO)
			showAlertaSeguridad(&consolaBT);
		if (estado == ANDANDO) showAlertaSalud(&consolaBT);
		showMenu(&consolaBT, estado);

		// lee un caracter desde el BT
		if (!ColaVacia(&consolaBT.colaRx))
		{
			input = UARTgetc(&consolaBT);
			inputBTChar(&estado, input, &consolaBT);
		}
	}
}
void Niveles (struct ENEARIO *p) {
	struct FIFO *Cola;
	struct ENEARIO *s;
	struct ENEARIO *q;
	int i=0,Ant=-1;

	InitCola(&Cola);
	InsCola (&Cola,p,1);
	while (!ColaVacia(Cola)) {
		q = RetCola(&Cola,&i);
		if (i != Ant) {
			Ant = i;
			printf ("\n");
		}
		printf ("%d ",q->Info);
		s = q->Hijo;
		while (s != NULL) {
			InsCola(&Cola,s,i+1);
			s = s->Hermano;
		}

	}

}