2. "Можно-ли прерывание осуществлять из прерывания (из таймера делать вызов ацп)." Можно, если уверен, что период прерываний от таймера будет больше, чем время, необходимое для запуска АЦП+время на преобразование+время на обработку прерывания от АЦП+время на сохранение или обработку результатов преобразования. Правда если останавливать ТС или маскировать его прерывание, то это время можно не учитывать.
3. "Может ли быть подпрограмма в прерывании, и сколько их может быть внутрь(матрешки), Короче говоря на что расчитан стек он же не безграничен." Подпрограмма в прерывании может быть. Кол-во зависит от того, сколько входных данных использует подпрограмма и от их типа.
4. "Насколько я понял прерывания эта функция с входными и выходными переменными типа void. То бишь с переменными работать не придется?А как же тогда работать с переменными?" Я, например, объявляю переменные так: volatile char (или int, или long int, или bit) variable_name и в любом месте программы получаю к ней доступ (даже в прерывании).
[/quote]
|