#include <stdio.h>

union PIN {
    unsigned int i_data;
    
    struct {
        unsigned char pin_and_command;
        unsigned char pwn;
    } s_data; /* имя можно опустить */
};

int
main(void) {
    union PIN pin_data = (union PIN) { 0 };
    union PIN pin_data2;
    
    pin_data.s_data.pin_and_command = 's'; /* для примера */
    pin_data.s_data.pwn = 'd';

    int content = pin_data.i_data; /* Вот тебе то что нужно */
    
    pin_data2.i_data = content;
    
    printf("Before: %c, %c\nAfter: %c, %c\n",
    		pin_data.s_data.pin_and_command,
    		pin_data.s_data.pwn,
    		pin_data2.s_data.pin_and_command,
    		pin_data2.s_data.pwn);
    
    return 0;
}