[an error occurred while processing this directive]
Растолкуйте чайнику суть функции gets в CodevisionAVR, пожалуйста! (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено EagleB3 19 июля 2006 г. 13:34

Хочу обработать (распознать ответ) от устройства, полученный по UART с использованием прерывания по Rx.
Читаю описание:
==========================================================
char *gets(char *str, unsigned char len)

inputs, using getchar, the character string str terminated by the new line character.
The new line character will be replaced with 0.
The maximum length of the string is len. If len characters were read without encountering the new line character, then the string is terminated with 0 and the function ends.
The function returns a pointer to str.
==========================================================

и не могу понять:
если gets использует getchar, то чтение по определению будет идти из буфера (CVAVR все сгенерировал и подпрограмму обработки прерывания написал. И, в том числе, getchar на работу с буфером натравил).
Тогда что за char *str я должен указать функциив качестве параметра? Могу ли я считать, что это указатель на символьный массив, в который будет помещен результат чтения? Если да, то что за указатель вернет сама функция gets в качестве результата? Указатель на него же?

А могу ли я в таком случае использовать для нахождения в полученном от UART сообщении, скажем, ответа "OK" таким образом:
if(strstrf(gets(char *str, len),"OK"))
{// "OK" found
}
else
{// "OK" not found
}

Если да, то еще пара вопросов:

Коль CVAVR орагнизоваk буфер приема как
// UART Receiver buffer
#define RX_BUFFER_SIZE 32
char rx_buffer[RX_BUFFER_SIZE];

, то следует сделать gets(char *str, RX_BUFFER_SIZE). Правильно?
Но кто такой в этом случае "char *str" (впрочем, я об этом уже спросил...)?

Заранее спасибо за ответы/советы!

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание