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