一、STM32控制原理概要

IO端口位的基本结构
在STM32有特定功能的内存单元,即"寄存器"。寄存器是程序与硬件电路通信的桥梁。寄存器按照每32位二进制0/1数据为一组。存储着芯片特定电路的相关信息。我们就是通过程序对寄存器中的数据进行修改,可以改变某个电路的开关或者读写。控制单片机就是在控制寄存器
例如把PA7设置为高电平时,调用
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SEt)
函数实际上就是对BSRR寄存器的第七个bit位设置成1.
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
{
/* Check the parameters */
assert_param(IS_GPIO_PIN(GPIO_Pin));
assert_param(IS_GPIO_PIN_ACTION(PinState));
if (PinState != GPIO_PIN_RESET)
{
GPIOx->BSRR = GPIO_Pin;
}
else
{
GPIOx->BSRR = (uint32_t)GPIO_Pin << 16u;
}
}
stm32f1xx_hal_gpio.c 中的HAL_GPIO_WritePin的定义

最低0.47元/天 解锁文章
2437

被折叠的 条评论
为什么被折叠?



