Цитата(digis14 @ Mar 6 2007, 21:00)

ошибки
if((rx_wr_index>13) && strstr((const char*)rx_buffer, CALL_MODEM))
parameter #1 of type 'flash unsigned char *[]' is incompatible with type 'unsigned char *' specified in the function 'strstr' declaration
if((rx_buffer[i+j])<'0') || (rx_buffer[i+j])>'9'))
invalid expression
if ((rx_buffer[i+k)>='0') && (rx_buffer[i+k])<='9'))
missing ']'
если сделать так
if ((rx_buffer[i+k]>='0') && (rx_buffer[i+k])<='9'))
то invalid expression
else
no matching if
Мда, что ж тут непонятного ? Скажите мне, как программист программисту, уж не одинаковым ли должно быть количество открывающих и закрывающих скобок? Да, когда я писал этот пример, возможно, где-то наставил лишних скобок - ну нельзя же воспринимать пример символ-в-символ.
Должно быть так.
Код
if ( ( rx_buffer[i+j] < '0') || ( rx_buffer[i+j] >'9' ) )
...................................................
if ( ( rx_buffer[i+k] >= '0' ) && ( rx_buffer[i+k] <= '9') )
Что касается первой ошибки - тут дело в приведении типов аргументов. Видимо, функция strstr(...) в Вашей версии компилятора требует в качестве первого параметра указатель на unsigned char. Ну дык и сделайте такое приведение
Код
if ( (rx_wr_index>13) && strstr( (unsigned char*)rx_buffer, CALL_MODEM ) )
Сделано в Китае. Упаковано в России.