вот кодКод://alt_u16 - это тип данных, беззнаковое двухбайтное, можно считать что unsigned shortchar bufRecive[100];alt_u16* p = reinterpret_cast(&bufRecive[0]);*p = 0x1234;p = reinterpret_cast(&bufRecive[1]);*p = 0x7890;p = reinterpret_cast(&bufRecive[2]);*p = 0x4321;p = reinterpret_cast(&bufRecive[3]);*p = 0x0987;p = reinterpret_cast(&bufRecive[4]);*p = 0x6571;p = reinterpret_cast(&bufRecive[5]);*p = 0x4294;p = reinterpret_cast(&bufRecive[6]);*p = 0x5302;p = reinterpret_cast(&bufRecive[7]);*p = 0x0192;шагаю дебагом по строчке. когда указатель р указывает на четный адрес, то изменяется значение по адресам р и р+1, когда р указывает на нечетный адрес, изменяется значение по адресам р-1 и р. Чё-то тут с выравниванием связанно. Как это победить? компилятор nios2-elf-gcc. Но в доках на компилятор нет ни каких ограничений по поводу разименовывания.
|