Цитата(rezident @ Feb 8 2008, 13:50)

Странно это.
...
P.S. проверьте правильно ли выбран кристалл в опциях проекта и тот ли заголовочный файл с описанием регистров вы подключаете?
Кристалл выбран правильно. Заголовочный файл подключен правильный.
Создал новый чистый проект с нуля (естественно со старыми *.с и *.h файлами). Та же *опа!
Перепроверил файлы описания процессора ddf и т.п. Все соответствует datasheet'у.
Расставил IE1 |= URXIE0 в нескольких местах, даже по несколько раз подряд. Естественно часть из них компилятор выкинул, но тем не менее.
Сработала конструкция
Код
InitDevice();
IE1 |= URXIE0;
В InitDevice() происходит инициализация всего "железа". Раньше все IE1 |= URXIE0 располагались в разных местах InitDevice(). В этой функции ни один IE1 |= URXIE0 не сработал (проверял по листингу компилятор их оставил, debugger их выполнил, но они не сработало). А вот после выхода из функции на первом же IE1 |= URXIE0 бит установился!
Подумал, глюк камня. Собрал еще одно устройство с новым камнем. И опять *опа! Работает только после InitDevice().