Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
2)"А почему нельзя в обработчике прерывания делать switch() по переменной состояния, в нужной ветви отрабатывать диаграмму, вычилсять - что сделать в следующий раз и заносить в переменную состояния номер следующего фрагмента?"
switch на 28 состояний??? И это в обработчике таймерного прервания с периодом 40 мкСек...Мсье знает толк в извращениях...Получается тогда что 99% процессорного времени прога будет узнавать "а в каком же состоянии я щас нахожусь"...Мне кажется это глу...пардон...не рационально
3)"А почему нельзя в обработчике прерывания косвенно вызывать функцию по указателю на функцию (icall) и в конце каждой функции заносить в указатель адрес функции для следующего раза?"
Но тогда эти адреса (28 штук - по числу шагов-состояний) придётся где-то хранить..Ну плохо даже не это... Их придётся знать и задавать явно...Т.е. придётся увеличивать количество данных в программе...А это усложнит программу и ухудшит её "прозрачность"
P.S. А вообще меня удивляет, что опытные эмбеддеры (к которым я отношу не только Вас но и других, высказавшихся по этой теме, эмбеддеров) не знают таких элементарных вещей...Неужели же они не писали проблем, сложнее программ, "мигающих светодиодом"..Пардон