Цитата
Не знаю актуально ли для 51-х...
Определите так:
Код
volatile unsigned char FlagReady.
для 51 актуально.
Цитата
Компилируется без ошибок...
А что насчет варнигов?
Если в IDE используете компилятор от KEIL то могу посоветовать следующее
Опции компилятора для модулей не отличаются (модели памяти)?. Если модели памяти указаны разные, то необходимо дополнительно указать тип памяти, например
Код
data unsigned char FlagReady;
...
extern data unsigned char FlagReady;
Если используете переключение банков в прерывании, то в опциях компилятора должно быть установлена галка "Don`t use absolute register access". (Это в Keil, в вашей среде скорее всего опция компилятора "NOAREGS")
Ну и напоследок посмотреть ассемблер, к каким адресам обращается в прерывании и в фоне.
Со связкой кейл-силабс работал много, на такие ошибки не нарывался.
Сообщение отредактировал редактор - Dec 24 2012, 06:10
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.