реклама на сайте
подробности

 
 
> rx_buffer, как взять данные по определенному адресу
digis14
сообщение Mar 5 2007, 16:37
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 30-09-06
Пользователь №: 20 838



посылаю в uart запрос на получение номера из телефона
приходит так AT+CPBR=1+CPBR: 1,"+79xxxxxxxxx",145,""OK
и помещается в буфер,причем помещается в буфер через раз непонятно почему
работаю с cvavr и proteus
вопрос
как мне проверить что есть плюс в номере, а также длинну и поместить сам номер в переменную ,или
поместить в eeprom чтоб я его мог в нужное время отправить обратно

Сообщение отредактировал digis14 - Mar 5 2007, 16:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
digis14
сообщение Mar 6 2007, 21:00
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 30-09-06
Пользователь №: 20 838



разобраться бы что это
char* pBuf = UART_Recv(&nRecv);
и это
char Send_Receive(PGM_P pSend, int nBytes);
в коде выше

ошибки

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

Сообщение отредактировал digis14 - Mar 6 2007, 21:25
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 7 2007, 09:50
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(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  )  )


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- digis14   rx_buffer   Mar 5 2007, 16:37
- - _Bill   Цитата(digis14 @ Mar 5 2007, 16:37) посыл...   Mar 5 2007, 16:44
- - SasaVitebsk   Вопрос совершенно непонятен. 1) Длину можно посчит...   Mar 5 2007, 16:55
|- - digis14   Цитата(SasaVitebsk @ Mar 5 2007, 16:55) В...   Mar 5 2007, 17:23
- - beer_warrior   Работать с массивом как с операндом позволяет указ...   Mar 5 2007, 17:48
|- - Faradey   я бы на вашем месте смотрел с права на лево... ска...   Mar 5 2007, 19:29
- - digis14   я не так много знаю чтоб реализовать это со слов п...   Mar 5 2007, 19:42
|- - Faradey   вот так тоже можно: Код unsigned char USART0_Rx...   Mar 5 2007, 20:12
|- - Demeny   Цитата(Faradey @ Mar 5 2007, 20:12) вот т...   Mar 6 2007, 11:30
- - digis14   переписал так unsigned char rx_buffer[RX_BUF...   Mar 5 2007, 20:59
- - digis14   RE: rx_buffer   Mar 6 2007, 12:32
|- - Demeny   Цитата(digis14 @ Mar 6 2007, 12:32) да ну...   Mar 6 2007, 14:48
- - digis14   вот так вот сделал Код#include <90s2313.h...   Mar 7 2007, 14:01
- - digis14   новый вариант и причем работает Код/**************...   Mar 7 2007, 22:12


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 20:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016