pvp 0 10 октября, 2007 Опубликовано 10 октября, 2007 (изменено) · Жалоба Уважаемые формучане! Помогите разрешить проблемку: мк - ATMEGA8. При разрешённых прерываниях (например, по завершении цикла преобразования АЦП) и использовании библиотечной функции sqrt() (естественно, не в обработчике прерывания) мк перезагружается. При запрещении прерываний на время выполнения функции sqrt() всё работает как ожидается. В чём дело и как побороть (не запрещая прерывания на время выполнения sqrt())? Заранее спасибо. P.S. Версия компилятора 4.20A P.P.S. В версии 4.30A - всё аналогично. Изменено 10 октября, 2007 пользователем pvp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pvp 0 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба Поборол увеличением размера стека данных до 64 байт (супротив 32 по-умолчанию). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 121 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба При разрешённых прерываниях (например, по завершении цикла преобразования АЦП) и использовании библиотечной функции sqrt() (естественно, не в обработчике прерывания) мк перезагружается.Весьма вероятно, что не хватает стека. Увеличьте размеры RSTACK и CSTACK.Поборол увеличением размера стека данных до 64 байт (супротив 32 по-умолчанию)."говорят, у дураков мысли сходятся. Но у умных - чаще!" :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pvp 0 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба Весьма вероятно, что не хватает стека. Увеличьте размеры RSTACK и CSTACK. Спасибо. Уже сделал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться