Чудеса... Заремил инкременты, таже хня
//
#define ServerTCPSoket (1) //Количество сокетов
void funk(void)
{
while(!0)
{//проверяем буфера
static unsigned char UkSoket;
if(TxHead[UkSoket]==TxTail[UkSoket])
{//Нет данных для передачи
if(TxLink[UkSoket]!=0)
{//передача была включена
StartTimer(&tTx,TimoutTx);//таймаут повторной передачи пакета
TxLink[UkSoket]=0;//передача закончена
}
}
else
{//Есть данные для передачи
if(Timer(&tTx)==0)
{//Если не истек таймаут передачи
return;
}
if(ConnectTCP[UkSoket]!=0)
{//текущее подключение существует
SoketTx=UkSoket;//текущее подключение
//UkSoket++; //Инкремент указателя сокета
//if(UkSoket >= ServerTCPSoket){UkSoket=0;}
break;
}
}
//UkSoket++; //Инкремент указателя сокета
//if(UkSoket >= ServerTCPSoket)
{//все сокеты просмотрены
UkSoket=0;
return;
}
}
// и работаем с переменной SoketTx
}//
//