OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2817|回复: 0

GPIO----寄存器版

[复制链接]

12

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2018-8-2
在线时间
39 小时
发表于 2018-8-8 08:25:01 | 显示全部楼层 |阅读模式

如果是对GPIO口的操作,可以使用寄存器的操作,寄存器操作的好处是编译快,简单明了


'''
        寄存器随手敲
'''

#include "led.h"

#include "stm32f10x.h"


void LED_Init(void){
RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<6;

//GPIOB.5  

GPIOB->CRL&=0xFF0FFFFF;
GPIOB->CRL|=0x00300000;
GPIOB->ODR|=1<<5;

GPIOE->CRL&=0xFF0FFFFF;
GPIOE->CRL|=0x00300000;
GPIOE->ODR|=1<<5;


//GPIOE.5

}

int main(void)
{
delay_init();
LED_Init();
while(1){
  GPIOB->ODR|=1<<5;
  GPIOE->ODR|=1<<5;
  delay_ms(500);
  
  GPIOB->ODR&=~(1<<5);
  
GPIOE->ODR&=~(1<<5);
  delay_ms(500);
}



*************************************************************************

*************************************************************************

RCC->APB2ENR       APB2时钟使能寄存器:位3是使能GPIOB,位6是使能GPIOE,
GPIOE->CRL            CRL端口低配置寄存器,操作小标为0-7的IO口

微信图片_20180808081909.png

通过分析中文参考手册,可简单明白寄存器操作的便捷之处




哈哈,加油
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-13 16:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表