ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
210099 Топик полностью
Ксения (10.09.2010 20:11 - 20:15, просмотров: 181) ответил Anon на Обращение к отдельному байту переменной в IAR AVR.
А язык какой? C или Assembler? Если С, то так: short a; // наша переменная *(char*)&a = 2; // записываем 2 в ее младший байт *(((char*)&a)+1) = 3; // записываем 3 в ее старший байт или юзаем адрес как массив: ((char*)&a)[1] = 3; // это записываем 3 в ее старший байт А в общем случае порядок таков: 1) получаем адрес переменной: &a 2) принудительно приводим этот адрес с байтовому: (char*)&a 3) прибавляем к байтовому адресу смещение: ((char*)&a)+n где n=номер байта в переменной (младший байт нулевой). 4) записываем по адресу, предварительно его разъименовывая: *(((char*)&a)+n)=3 Вариант второй: 3) используем байтный адрес, как имя массива: ((char*)&a)[n]=2; где n=номер байта в переменной (младший байт нулевой).