STM32 直接控制IO寄存器引脚代码
时间: 2023-05-24 17:05:57 浏览: 200
STM32 IO 功能引脚 分布
以下是STM32直接控制IO寄存器引脚代码的一个示例:
#include "stm32f10x.h"
int main()
{
// 使能GPIOB时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
// 设置PB10引脚为输出模式
GPIO_InitTypeDef gpio_init = {0};
gpio_init.GPIO_Pin = GPIO_Pin_10;
gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
gpio_init.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &gpio_init);
while(1) {
// 将PB10引脚设置为高电平
GPIOB->BSRR = GPIO_Pin_10;
// 延时
for(int i = 0; i < 100000; ++i);
// 将PB10引脚设置为低电平
GPIOB->BRR = GPIO_Pin_10;
// 延时
for(int i = 0; i < 100000; ++i);
}
return 0;
}
该代码使用了STM32F10x标准外设库和GPIO的位带操作,实现了对PB10引脚的控制。在代码中,首先使能了GPIOB的时钟,并设置PB10引脚为输出模式。然后在while循环中,通过GPIO的位带操作将PB10引脚的电平切换为高或低,并延时一段时间。
阅读全文