Цитата(dimmy_e @ Jan 30 2011, 14:13)

Ну это же не ассемблер - да и там нужен префикс или суффикс для шестнадцатеричных чисел.
О AVR Studio я не говорю, а советую топик-стартеру посмотреть ассемблерный листинг компилятора - чем-то же он свой код компилирует? Я, например, IAR-ом пользуюсь. Но студия тоже стоит - для прошивки обновлений в AVR Dragon, например.

P.S.: кстати, как тут принято обращаться: на вы, на Вы, на ты?
1. Тут все на "вы".
2. Вы даете ссылку на мой совет, соответственно я ваш ответ так и воспринимаю, а не как совет автору топика.
3. Насчет "префикса или суффикса для шестнадцатеричных чисел" я прекрасно осведомлен. Просто во всяких компиляторах полно всяческих нюансов.
4. Вам на будущее. Не очень обольщайтесь ассемблерным листингом компилятора. Часто это некий промежуточный результат до окончательной обработки оптимизатором (-ами). Лично сталкивался. 100% можно доверять только дизассемблеру бинарного файла.
Цитата(injen-d @ Jan 30 2011, 14:31)

Как я понял операция
Код
byte2 = byte2 | F713;
находится за пределами какой-либо функции, на что и ругается компилятор.
byte2 = byte2 | F713; как и любые операции с переменными(кроме начальной инициализации) должны быть прописаны в теле какой-либо функции.
Так как автор своим фрагментом кода задает большое количество загадок, то может быть. Совершенно ведь не ясно, переменные объявлены как глобальные или локальные. Операция "или" внутри или вне функции.
Самое мне не понятное и часто наблюдаемое. Автор что-то спрашивает и исчезает. Не интересно? Сам свои ляпы нашел?