Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: глючит printf()
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
JeDay
Переопределил putchar() на вывод в УАРТ. МК - ATMEGA128, тип памяти - Small.

CLIB, print formatter->Small.
printf("%d\r\n", 124); и printf("%d %o %x", 31, 31, 31); - отрабатывает правильно.
printf("%s", "hello"); - выдает 2 первых символа "he"

При измненении print formatter->Large, перестает правильно даже целые числа выводить.
Размеры стеков менял, не потогает.
В чем трабла ? Кто знает, подскажите плиз. help.gif
rezident
А может общего размера ОЗУ не хватает? Прогоните в симуляторе. Наверняка стек на данные наползает, а компилятор про это и не подозревает.
DeXteR
Я вылечил глюки ПринтФ увеличивая стек
Посмотрите на пару тем ниже

http://electronix.ru/forum/index.php?showtopic=19125
JeDay
Разобрался.
Я забыл в функции putchar() дописать строчку
while(!(UCSR0A & (1 << UDRE0) ));
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.