Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

ИАР AVR. Непонятная ситуация с выводом строк из flash(+)

Отправлено Quasy 18 декабря 2007 г. 10:47


<pre>
Два практически идентичных массива flash-строк.
В первом массиве сначала строка из больших букв, потом строка из маленьких. Во втором массиве - наоборот. Тупо вывожу их в отладочный терминал ИАРа, и жду что будет ОК. Но в первом случае вывод врет! Кажется, имена строк НЕДОСТАТОЧНО различны, ибо если их обозвать "посильнее" по-разному :), то вывод будет ОК в обоих случаях.
Что это?



// Строки, которые буду выводить:
__flash const char STROKA00[] = {"BIG_BIG\n"};
__flash const char stroka00[] = {"small_small\n"};

// Массив строк1. Сначала большие, потом маленькие буквы...
// При таком объявлении выводятся на экран только большие буквы.
__flash const char __flash * Area1[] =
{
STROKA00,
stroka00
};
// Массив строк2. Теперь сначала маленькие, потом большие буквы...
// При таком объявлении выводится на экран то, что просил.
__flash const char __flash * Area2[] =
{
stroka00,
STROKA00
};

int main()
{
printf_P( Area1[ 0 ] );
printf_P( Area1[ 1 ] );

printf("\n***\n\n");

printf_P( Area2[ 0 ] );
printf_P( Area2[ 1 ] );
while(1);
}

</pre>


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
вычтите два из трёх, получится:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru