stm32中如果out1连接某个io口,通过位带设置后是不是可以直接这样写

out1=0;out1=1;
如果不用你位带的操作怎么实现,

定义一个联合体

 typedef union out
{
    unsigned char IO;
    struct bit
    {
        unsigned char io0 : 1;
        unsigned char io1 : 1;
        unsigned char io2 : 1;
        unsigned char io3 : 1;
        unsigned char io4 : 1;
        unsigned char io5 : 1;
        unsigned char io6 : 1;
        unsigned char io7 : 1;
    };
}port;
可以这样操作
    port *out = 0xe0000000;//指向io寄存器例如io地址为0xe0000000
    out->IO = 0xa5;//字节操作
    out->io0 = 0;//位操作 之后变成0xa4
    out->io0 = 1;//之后变成0xa5