问题描述
- 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
时间: 2024-11-03 22:09:06