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

 
 
 
Reply to this topicStart new topic
> многострадальный printf();
Андрей Брест
сообщение Oct 30 2007, 10:21
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 30-10-07
Пользователь №: 31 870



Расклад такой:
Мега32, IAR 4.20A. Пишу свою функцию int putchar(int), вызываю --- символы передаются через USART правильно.
Пишу printf("ABCD\n\r@\"), без ошибок все компилится, но вместо "ABCD" вываливается какой-то мусор, такого вида "йм!&ъ–ЌxЌn'хд¦’32ІН&П]И8+шЬШышЙлщъЌ”ѕО".

Может необходимы какие-то дополнительные настройки?
Знающие люди, помогите!
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 30 2007, 10:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



А putchar в цикле нормально работает ? Стека достаточно выделено ?
Go to the top of the page
 
+Quote Post
Андрей Брест
сообщение Oct 30 2007, 10:49
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 30-10-07
Пользователь №: 31 870



Цитата(DASM @ Oct 30 2007, 14:31) *
А putchar в цикле нормально работает ? Стека достаточно выделено ?


Все решилось! Огромный респект!
Проблема была именно в размере стека.
Стояло 0x20, поставил 0xFF --- проблема исчезла!
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 30 2007, 16:39
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Это не предел, он и пару килобайт скушать могет. Построен рекурсивно
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Oct 30 2007, 16:49
Сообщение #5


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Андрей Брест @ Oct 30 2007, 13:21) *
Расклад такой:
Мега32, IAR 4.20A. Пишу свою функцию int putchar(int), вызываю --- символы передаются через USART правильно.
Пишу printf("ABCD\n\r@\"), без ошибок все компилится, но вместо "ABCD" вываливается какой-то мусор, такого вида "йм!&ъ–ЌxЌn'хд¦’32ІН&П]И8+шЬШышЙлщъЌ”ѕО".

Может необходимы какие-то дополнительные настройки?
Знающие люди, помогите!



возможно Вы очепятались...
но строка

"ABCD\n\r@\"

не правильно сформирована...как последствие - получите всё что угодно и не угодно...
возможно Вы хотели выдать так..

"ABCD\n\r@\\"

удачи Вам
(круглый)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:00
Рейтинг@Mail.ru


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