У меня проблемы с приведенным ниже кодом;
int i = 0;
int x = 0;
int ch ;
int n;
while((i < sizeof(buffer) - 1) && (x < (TIMER_FREQ*30)))
{
//getkey_serial0 returns either a (int)character or 0 if nothing on
//UART0
if((ch = getkey_serial0) == 0)
{
x++; //Increment X as there is nothing being received.
}
else
{
if(ch == '\n')
{
n++;
}
if(n < 8){ //Yes I can simplify this but for some reason
} //I only just noticed this :/ Anyway, it is
else{ //just here to avoid saving info I don't need
buffer[i] = ch ;
i++;
}
}
}
Поскольку вход, который он считывает, является результатом сканирования по беспроводной сети, количество отсканированных записей может сильно различаться, поэтому мне необходимовозможность избежать бесконечного зацикливания.Первоначально я только что прочитал до 11 \ n, но это был мусор, так как я пропускал SSID, которые мне были нужны, поэтому я решил, что мне нужен какой-то таймер или метод, чтобы помочь мне сломаться через X времени.
TIMER_FREQопределяется как 10.
Очевидно, что я делаю что-то глупое, поэтому любые предложения или советы будут с благодарностью.Обычно я предпочитаю предложения, которые помогут мне попытаться придумать проблему, а не сообщения с фиксированным кодом :) Мне всегда кажется, что я упускаю что-то простое, несмотря на все мои усилия!
Спасибо
РЕДАКТИРОВАТЬ: Я долженупомянуть, это на встроенной системе (ARM7)