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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 3
Зарегистрирован: Чт авг 06, 2009 21:01:07
Откуда: Харьков

Сообщение Tem@@@ »

Доброго времени суток.
Господа прошу рассмотреть код приведеный ниже. Дело в том что он работает в симуляторе (VMLAB) но не работает в железе (проц живой).

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

За железо я не беспокоюсь т.к у меня есть другая программа делает то же самое только написана неоптимально но в ней всё работает . Почему эта выводит значение только один раз после ресета и потом замирает непонятно. Это как раз то что я хотел узнать у учасников форума.
Если есть возможность помогите.
Вложения
fff.c
(4.06 КБ) 328 скачиваний
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт июл 31, 2009 21:52:18

Сообщение Aiudara »

Лучше проект приложите. И PROTEUS скачайте - пригодится не раз.
Реклама
Родился
Сообщения: 3
Зарегистрирован: Чт авг 06, 2009 21:01:07
Откуда: Харьков

Сообщение Tem@@@ »

Вот проект.
Дело даже не в симуляторе там код по сути простой. Может я конечно чегото не вижу.... :(
Вложения
123123.rar
(29.55 КБ) 187 скачиваний
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Ну, немножко текст по дебильному написан (С) Харьков
время срабатывания таймера по сравнению и переполнению может превышать время сохранения - восстановления контекста прерывания. а так ниче...
ошибка переполнения стека ? ну не знаю, алгоритм, плиз.. что нужно..
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

неплохо увидеть проект VMLAB.

Еще попробуйте поднять частоту до максимума (кварц на 16 МГц) и при компиляции включить оптимизацию по скорости, а не по размеру.
Контактная информация:
Реклама
Родился
Сообщения: 3
Зарегистрирован: Чт авг 06, 2009 21:01:07
Откуда: Харьков

Сообщение Tem@@@ »

Ура. :)))
Оптимизация по скорости помогла :shock:
Совсем не ожидал такого исхода.
Всем спасибо 8)
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»