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

 
 
> процедура с указателем на строку в памяти программ, помогите разобраться
chief_olimp
сообщение Dec 24 2008, 14:39
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



Здраствуйте. Ткните где не так кто знает пожалуйста
Код
unsigned char blabla[] = "blablabla";
/// текст и все такое
void find (unsigned char *findbuff)
{
    unsigned int i;
    while (*findbuff != '\0')
   {
    USART0_OutBuf[i++] = *findbuff;
    findbuff++;
   }
}
int main (void)
{
find (blabla);
}

т.е. программа какие то данные из ОЗУ грузит в процедуру и что то так с ними делает
Скажите пожалуйста как такое же провернуть со строкой типа
Код
unsigned char PROGMEM blabla[] = "blablabla";

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Dec 24 2008, 18:24
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Код
#define Str const unsigned char PROGMEM
Str blabla[] = "blablabla";
Str bububu[] = "bububu(b)";
Str *all_strings[3]={&blabla, &bububu,NULL};

unsigned char find (const unsigned char *findbuff){
    unsigned int i=0;
    unsigned char temp;
    unsigned char *pos=&USART0_OutBuf[0];
    while(i < sizeof(USART0_OutBuf))
    {
        temp = pgm_read_byte(findbuff++);
        if(temp==0) return 1; // found the full string substitution
        if(*pos++ != temp) break;
        i++;
    }
  return(0);// not found
}

Так, что ли ?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 24 2008, 18:31
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(_Pasha @ Dec 24 2008, 21:24) *
Код
#define Str const unsigned char PROGMEM
Str blabla[] = "blablabla";
Str bububu[] = "bububu(b)";
Str *all_strings[3]={&blabla, &bububu,NULL};

unsigned char find (const unsigned char *findbuff){
    unsigned int i=0;
    unsigned char temp;
    unsigned char *pos=&USART0_OutBuf[0];
    while(i < sizeof(USART0_OutBuf))
    {
        temp = pgm_read_byte(findbuff++);
        if(temp==0) return 1; // found the full string substitution
        if(*pos++ != temp) break;
        i++;
    }
  return(0);// not found
}

Так, что ли ?

Похоже что не так.
Код
Str *all_strings[3]={blabla, bububu,NULL};
или
Str *all_strings[3]={&blabla[0], &bububu[0],NULL};


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- chief_olimp   процедура с указателем на строку в памяти программ   Dec 24 2008, 14:39
- - rokhan   И что ты хочешь найти? Если ты хочешь найти стро...   Dec 24 2008, 15:03
- - rezident   Цитата(chief_olimp @ Dec 24 2008, 19:39) ...   Dec 24 2008, 16:27
|- - demiurg_spb   Цитата(rezident @ Dec 24 2008, 19:27) Во-...   Dec 24 2008, 18:21
|- - rezident   Цитата(demiurg_spb @ Dec 24 2008, 23:21) ...   Dec 24 2008, 19:49
|- - demiurg_spb   Цитата(rezident @ Dec 24 2008, 22:49) Тео...   Dec 25 2008, 10:24
||- - HARMHARM   Цитата(demiurg_spb @ Dec 25 2008, 12:24) ...   Dec 25 2008, 11:14
|||- - zltigo   Цитата(HARMHARM @ Dec 25 2008, 14:14) Бол...   Dec 25 2008, 11:37
|||- - demiurg_spb   Цитата(HARMHARM @ Dec 25 2008, 14:14) Бол...   Dec 25 2008, 12:11
|||- - HARMHARM   Цитата(demiurg_spb @ Dec 25 2008, 14:11) ...   Dec 25 2008, 12:49
||- - rezident   Цитата(demiurg_spb @ Dec 25 2008, 15:24) ...   Dec 25 2008, 12:35
||- - demiurg_spb   Цитата(rezident @ Dec 25 2008, 15:35) Я с...   Dec 25 2008, 13:37
||- - zltigo   Цитата(demiurg_spb @ Dec 25 2008, 16:37) ...   Dec 25 2008, 14:31
|||- - demiurg_spb   Цитата(zltigo @ Dec 25 2008, 17:31) И за ...   Dec 25 2008, 16:50
||- - rezident   Цитата(demiurg_spb @ Dec 25 2008, 18:37) ...   Dec 25 2008, 15:00
||- - demiurg_spb   Цитата(rezident @ Dec 25 2008, 18:00) Буд...   Dec 25 2008, 16:38
||- - zltigo   Цитата(demiurg_spb @ Dec 25 2008, 19:38) ...   Dec 25 2008, 16:49
||- - zltigo   Цитата(demiurg_spb @ Dec 25 2008, 19:38) ...   Dec 25 2008, 16:54
||- - demiurg_spb   Цитата(zltigo @ Dec 25 2008, 19:54) Само ...   Dec 25 2008, 17:27
||- - zltigo   Цитата(demiurg_spb @ Dec 25 2008, 20:27) ...   Dec 25 2008, 17:34
||- - demiurg_spb   Цитата(zltigo @ Dec 25 2008, 20:34) Естес...   Dec 25 2008, 17:43
||- - zltigo   Цитата(demiurg_spb @ Dec 25 2008, 20:43) ...   Dec 26 2008, 13:54
||- - demiurg_spb   Цитата(zltigo @ Dec 26 2008, 16:54) Не по...   Dec 27 2008, 10:03
||- - Сергей Борщ   Цитата(demiurg_spb @ Dec 27 2008, 12:03) ...   Dec 27 2008, 11:15
|||- - demiurg_spb   Цитата(Сергей Борщ @ Dec 27 2008, 14:15) ...   Dec 28 2008, 22:04
||- - rezident   Цитата(demiurg_spb @ Dec 27 2008, 15:03) ...   Dec 27 2008, 22:00
|- - alx2   Цитата(rezident @ Dec 25 2008, 00:49) Тео...   Dec 25 2008, 11:15
- - Tiro   Чип AVR с компилятором WinAVR? Тогда прочтите здес...   Dec 24 2008, 16:42
- - chief_olimp   дело в том что я хочу каждый раз используя одну и ...   Dec 24 2008, 16:49
|- - defunct   Цитата(chief_olimp @ Dec 24 2008, 18:49) ...   Dec 24 2008, 17:02
- - WHALE   Я решал вашу задачу так: Кодflash char *flash STRI...   Dec 24 2008, 17:34
- - chief_olimp   в вашем случае насколько я понял сравниваются стро...   Dec 24 2008, 17:43
|- - WHALE   Цитата(chief_olimp @ Dec 24 2008, 20:43) ...   Dec 24 2008, 20:03
- - rokhan   2chief_olimp : простите. но то что вы написали - э...   Dec 24 2008, 18:28
|- - chief_olimp   Цитата(rokhan @ Dec 24 2008, 22:28) 2chie...   Dec 24 2008, 20:15
- - _Pasha   Цитата(demiurg_spb @ Dec 24 2008, 22:31) ...   Dec 24 2008, 18:49
- - rokhan   Я просто в шоке. думаю мои и быстрее и веселее Ц...   Dec 25 2008, 08:23
|- - zltigo   Цитата(rokhan @ Dec 25 2008, 11:23) думаю...   Dec 25 2008, 08:54
|- - chief_olimp   Кодvoid find(char* inb) { fndOK=-1; char i...   Dec 25 2008, 11:44
|- - Сергей Борщ   Цитата(chief_olimp @ Dec 25 2008, 13:44) ...   Dec 25 2008, 12:05
|- - chief_olimp   Документацию я как раз читаю. Только напоминаю я н...   Dec 25 2008, 12:18
||- - Сергей Борщ   Цитата(chief_olimp @ Dec 25 2008, 14:18) ...   Dec 25 2008, 13:44
||- - chief_olimp   Обращение есть. CODEvoid find (const void *findbuf...   Dec 25 2008, 14:22
|- - alx2   Цитата(Сергей Борщ @ Dec 25 2008, 17:05) ...   Dec 26 2008, 10:36
|- - Сергей Борщ   Цитата(alx2 @ Dec 26 2008, 12:36) Во врем...   Dec 26 2008, 15:32
|- - Сергей Борщ   Цитата(Сергей Борщ @ Dec 26 2008, 17:32) ...   Dec 26 2008, 17:48
- - rokhan   Спасибо вы нашли опечатку. КодНа счет тегов могли ...   Dec 25 2008, 09:00
|- - zltigo   Цитата(rokhan @ Dec 25 2008, 12:00) У авт...   Dec 25 2008, 09:48
- - chief_olimp   т.е. каждый раз при очередном сравнивании данные с...   Dec 25 2008, 09:15


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:53
Рейтинг@Mail.ru


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