Цитата(kovigor @ Sep 15 2011, 19:32)

Возможно, переполняется стек и собой затирает переменные. Попробуйте в опциях проекта увеличить размер стека.
Ну или вы с указателями где-то накосячили.
Я уже не говорю о том, что скорость UART м.б. неправильно выставлена.
Например, что будет, если выводить не по UART, а куда-то в другое место ?
И еще. OUT_COM0_CHAR ждет окончания передачи предыдущего байта, или ничего не ждет и тупо пишет в UART независимо от его готовности ?
Еще возможно переполнение буфера драйвера на стороне PC и как следствие - потеря данных. Что будет, если передавать не переменную, а число ? Оно тоже будет биться ?
Стек выставлен на 1 Кбайт, при компиляции пишет, что используется 190байт.
С указателями возможно, но блин, я даже не знаю как к ним подступить

, ибо их я наплодил десятки... jtaga нема, да и программу особо не потрассируешь... Растянута по времени на часы... Попробую покопаться в указателях ... Но какая зависимость непонятно. Все массивы и структуры статичны - если бы где то вылезало за предел выделяемой памяти - ошибка была бы постоянной, да и слетают переменные в местах где указатели не меняются
Дело не в UART 100%, т.к. меняется даже ход выполнения программы, который я тоже контролирую через uart икоторый зависит от этих переменных.
ЗЫ - вот так 1 баг где нибудь и всё программирование сводится к танцу с бубном

.