[an error occurred while processing this directive]
Дубль три, последний. sprintf() и AVR(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
вчера начали пинать, что мол в прерывании sprintf() использовать нельзя (мои слабые попытки объяснить, что эта ф-ия не работает и в основном теле ничего не дали). Типа ладно, забыли. Но задело, то что (как выяснилось) в вызываемой ф-ии sprintf() использовать можно, а в прерывании - нельзя. Не бред ли это? Разница то в чем? И на последок: если кто-нить сталкивался с неправильной работой этой ф-ии в CV, буду весьма признателен за участие. Спасибо.
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ: IAR C AVR 2.28 в printf использует все регистры R0 по R31 — ДМ (13.08.2005 23:29 62.183.50.164 , 210 байт)
В терминалке с таким target (дуплекс обмен) неудобно общаться. Символы ввода/вывода в target м.б. смешиваться. — ++ (13.08.2005 03:54 80.246.75.53 , пустое )
Спасибо всем за участие, но мне уже не интересно, если так и дальше пойдет... Я был прав, когда остановился на скоростном сИгнале, и доволен. — Андрей Сорокин (13.08.2005 00:46 212.109.32.13 , пустое )
Прерывания - дело тонкое. Там очень осторожным надо быть. — Bill (12.08.2005 23:34 195.239.108.123 , 507 байт)
Стек - то само собом. Главное, что за время sprintf-а то самое прерывание может произойти ещё раз. и таво... пока память не кончится. — -mse- (13.08.2005 00:20 213.132.70.164 , пустое )
сомневаюсь что человек разрешил вложенные прерывания. — DASM (13.08.2005 00:26 217.118.78.1 , пустое )
Дабы не быть голословным дилетантом, вот текст -> — Андрей Сорокин (13.08.2005 00:30 212.109.32.13 , пустое , ссылка )
Я никогда не ставлю printf в прерывании. А кроме размера стека, есть еще проблема быстродействия - может придти второе прерывание. Запретил - потерял, разрешил - завис. — Vladimir Ljaschko (13.08.2005 13:12 82.209.197.76 , пустое )
Вот, собственно, о чем я и говорил. Во втором случае у Вас как раз — Bill (13.08.2005 00:41 195.239.108.123 , 424 байт)
Чес говоря, разбирацца впадлу... — -mse- (13.08.2005 00:38 213.132.70.163 , 382 байт)
ну так я не понял, буфер пробовал глобальным делать ? — DASM (13.08.2005 00:37 217.118.78.1 , пустое )
Ну да... — Андрей Сорокин (13.08.2005 00:39 212.109.32.13 , пустое )
а что плохого в стековых массивах ? одни премущества. Только cstack нормально поставить — DASM (12.08.2005 23:51 217.118.78.1 , пустое )
Это камень в мой огород (+) — Андрей Сорокин (12.08.2005 23:38 212.109.32.13 , 217 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru