重学STM32,知识点总结s

1.对某个寄存器的某个位赋值0:

GPIOB_ODR = (1<<0) 第零位赋值为1
GPIOB_ODR = (1<<16) 第16位赋值为1
***但是有个弊端就是,会改变原来的值。***
若不想改变原来的值:
GPIOB_ODR |= (1<<16)

2.对某个寄存器的某个位赋值0,其他位置1:

GPIOB_ODR  &= ~(1<<10); 

3.stm32 GBIO 使用流程

1.GPIO 首先配置APB2 , 设置GBIOx 使能。
2.配置GPIOx_CRL(CRH), 设置推挽输出和输出速率。
  每个端口有16个引脚
  每个引脚由4 个位来配置
  高八位使用GPIOx_CRH 配置。
  低八位使用GPIOx_CRL 配置。
  stm32一个功能寄存器32位。一个功能寄存器包括4个普通寄存器。
3.   使用GPIOx_ODR配置16个引脚输出电平

4.按键电路的消抖

重学STM32,知识点总结s_第1张图片
当20ms之前属于不稳定状态时可以通过电容吸收电流。

5.stm32要用亦或的方式对LED取反(与51不同)

while(1)
	{
		if(Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN ))
		{
			LED1_GPIO_PORT->ODR ^= LED1_GPIO_PIN ; //亦或
		}
	}

你可能感兴趣的:(STM32)