[an error occurred while processing this directive]
|
1) Затем, что если в ISR есть хотя-бы один long размещенный с стеке, то его чтение и запись могут приводить к кривым результатам если SP нечетный. в этом случае элементарно затереть адрес возврата.
2) Инструкция FRAME нужно чтобы позаимствовать некоторое количество памяти из стека под локальные временные нужды. Если функция берет память не из стека, а юзает статический буффер, то одновременный вызов этой функции не возможен. Для функции автоматом запрещается рекурсия, вызов из ISR, про треды тоже можно забыть, буфферы придется статические делать - расход памяти больше. Иными словами за счет использования стека a) экономится память b) обеспечивается реентерабельность (reenterability)
E-mail: info@telesys.ru