|
В приведенном Вами фрагменте - не массив байт, а массив адресов, указывающих на байты. Т.е. каждый элемент массива ARP_ADDR - адрес, и занимает он несколько байт в памяти. При трансляции 'send_buffer.ether.src_mac[0]=ARP_ADDR[0];' транслятор должен выдавать предупреждение, поскольку Вы пытаетесь положить в байт значение адреса байта (занимает несколько байт). Возможно, 'потеря' старшего бита происходит при 'приведении' адреса к байтовой переменной.
E-mail: info@telesys.ru