В IAR есть какие-то настройки, в mspgcc по умолчанию стек растет навстречу статическим переменным, расположенным "с другого конца" ОЗУ до тех пор, пока не начнет затирать их. После этого дальнейший ход событий непредсказуем. Рекурсия в мелкоконтроллерных проектах - неоправданная глупость, которая приводит к перерасходу стека и возможности краха. Даже на "взрослых" компьютерах бесконтрольная рекурсия может закончиться аварийным завершением. Большинство рекурсивных алгоритмов можно преобразовать в обычный вид.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|