Страница 1 из 1

СИ код работает в симуляторе но не работает в железе

Добавлено: Чт авг 06, 2009 21:40:43
Tem@@@
Доброго времени суток.
Господа прошу рассмотреть код приведеный ниже. Дело в том что он работает в симуляторе (VMLAB) но не работает в железе (проц живой).

Файл с кодом прикреплён.
Дело в том что прога тривиальная. Состоит из трёх функций - инициализация, вывод на экран и main.
Запускается таймер который генерит два прерывания по компаратору (половина) и по переполнению. По каждому прерыванию инкрементируется счётчик n. Четные по преполнению нечётные по компаратору. По счётчику работают switchи и выдают в порты определённую последовательность импульсов. Далее происходит вывод на экран значения. В прицепе это значение забито как константа (digit=123), сделано это умышленно т.к работа с АЦП сейчас отключена (не обращайте внимания если где встретите).
И тут самое интерестное - всё работает но только один раз и потом всё на экран ничего не выводится. Причём в симуляторе всё нормально.

За железо я не беспокоюсь т.к у меня есть другая программа делает то же самое только написана неоптимально но в ней всё работает . Почему эта выводит значение только один раз после ресета и потом замирает непонятно. Это как раз то что я хотел узнать у учасников форума.
Если есть возможность помогите.

Добавлено: Чт авг 06, 2009 21:59:15
Aiudara
Лучше проект приложите. И PROTEUS скачайте - пригодится не раз.

Добавлено: Чт авг 06, 2009 22:07:52
Tem@@@
Вот проект.
Дело даже не в симуляторе там код по сути простой. Может я конечно чегото не вижу.... :(

Добавлено: Пт авг 07, 2009 01:16:42
urry
Ну, немножко текст по дебильному написан (С) Харьков
время срабатывания таймера по сравнению и переполнению может превышать время сохранения - восстановления контекста прерывания. а так ниче...
ошибка переполнения стека ? ну не знаю, алгоритм, плиз.. что нужно..

Добавлено: Пт авг 07, 2009 09:32:01
Danko
неплохо увидеть проект VMLAB.

Еще попробуйте поднять частоту до максимума (кварц на 16 МГц) и при компиляции включить оптимизацию по скорости, а не по размеру.

Добавлено: Пт авг 07, 2009 12:33:51
Tem@@@
Ура. :)))
Оптимизация по скорости помогла :shock:
Совсем не ожидал такого исхода.
Всем спасибо 8)