Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: И еще раз про printf
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Sergio66
IAR 5.4 for AVR.
Для отладки использую printf, с переписанной putchar
Вывод осуществляю в СОМ порт, и смотрю на ПК в терминале.
Не всегда корректно отображается текст. Причем, никак не могу выявить закономерность. Иногда лезет абракадабра, иногда (после внесения какого нибудь изменения в программу) все нормально. Причем, иногда бывает достаточно внести несущественное изменение в программу, в абсолютно не имеющее отношение к выводу в терминал место.
Размер стека - с запасом. И. кстати, его увеличение ничего не дает.
Сталкивался кто с подобным?
IgorKossak
Цитата(Sergio66 @ May 20 2010, 14:17) *
Размер стека - с запасом. И. кстати, его увеличение ничего не дает.

Запас стека для printf - вещь очень непредсказуемая и сильно зависит от того, что выводить.
Если запас - это байт 20, да и увеличивали на 20, то это капля в море.
Добавьте байтов эдак 400 или более.
AlexandrY
Цитата(Sergio66 @ May 20 2010, 14:17) *
Сталкивался кто с подобным?


Значит по какой-то причине не выровнен стек или heap. Такое как правило в простых RTOS встречается.
scifi
Бавыет засада с вызовом printf() из прерывания или из параллельных потоков. Это на тему "reentrant functions".
vmp
Попробуйте отследить, что именно у вас сбивается - сам printf или же настройки последовательного порта. Для этого вставьте в программу перед printf еще отдельные вызовы putchar.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.