STM32F103第一战-------寄存器操作GPIO

STM32F103第一战-------寄存器操作GPIO

STM32学习,需要了解寄存器,第一步便是操作GPIO,在此,贴上LED代码

*#define LED1(X) X? (GPIOB->ODR &=~ (0X01<<5)):(GPIOB->ODR |= (0X01<<5))
#define LED2(X) X? (GPIOE->ODR &=~ (0X01<<5)):(GPIOE->ODR |= (0X01<<5))
//由于STM32不支持位操作,采用三目运算符,方便对IO口的其中一位进行操作
void led_init(void)    			//LED初始化函数
{
		RCC->APB2ENR |= (0X01<<3);			//打开GPIOB端口时钟
		RCC->APB2ENR |= (0X01<<6);			//打开GPIOE端口时钟
		
		GPIOB->CRL &=~ (0xF<<20);			//配置端口模式,先清零
		GPIOB->CRL |= (0X3<<20);					//将PB5配置为通用推挽输出模式
		
		GPIOE->CRL &=~ (0xF<<20);			//配置端口模式,先清零
		GPIOE->CRL |= (0X3<<20);				//将PE5配置为通用推挽输出模式
		
		LED1(0);			//LED1对应口输出0
		LED2(0);
}*

对GPIO基本配置包括时钟使能以及模式选择,寄存器信息如下图:
在这里插入图片描述
在这里插入图片描述

int main()
{
	led_init();			//LED初始化
	while(1)
	{
		LED1(1);			//点亮LED灯
		LED1(1);
	}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值