STM32的位操作问题

2025年03月12日 23:42
有3个网友回答
网友(1):

1.例子如下:

GPIO_Write(GPIOC,DataBus);
或者不用库
GPIOC->ODR &= 0XFF00;
GPIOC->ODR |= DataBus;
流水就简单了移位即可 不用写了吧
2.
先读出才知道状态啊,不读也可以啊 不要那么死

3.中断向量表 肯定是固定的
不然怎么知道是哪个中断。只是优先级可设置

网友(2):

1、懒的写了。就是用库函数。
2、就是取反。肯定是要先读的啊,不然的话怎么取反。
3、这是给程序在RAM里跑准备的,你复制的也不全,可见你根本没理解这几句什么意思,我也懒的讲了,自己看C语言的宏定义吧。
按你的情况,多数时间程序就这一句管用,其它的都删了吧:
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

网友(3):

union
{
uc Flag1;
struct
{
uc Flag1_bit0:1;
uc Flag1_bit1:1;
uc Flag1_bit2:1;
uc Flag1_bit3:1;
uc Flag1_bit4:1;
uc Flag1_bit5:1;
uc Flag1_bit6:1;
uc Flag1_bit7:1;
};
};

#define XXFlag Flag1_bit0

反正我是这么用的