历史上的今天
今天是:2024年09月28日(星期六)
2021年09月28日 | STM32入门学习之GPIO(STM32F030F4P6基于CooCox IDE)(寄存器操作版
2021-09-28 来源:eefocus
依然,直接上代码
#include "stm32f0xx.h"
#include "stm32_lib/inc/stm32f0xx_rcc.h"
#include "stm32_lib/inc/stm32f0xx_gpio.h"
int main(void)
{
//IOPAEN=1,使能GPIOA的时钟
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
//设置IO口工作模式,GPIOA_MODER4=0x01,通用IO口
GPIOA->MODER |= GPIO_MODER_MODER4_0;
GPIOA->MODER &= ~GPIO_MODER_MODER4_1;
//设置输出类型,GPIO_OTYPER_OT_4=1,推挽输出
GPIOA->OTYPER &= ~GPIO_OTYPER_OT_4;
//设置速率,GPIO_OSPEEDER_OSPEEDR4=0x01,中速,10MHz
GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_0;
GPIOA->OSPEEDR &= GPIO_OSPEEDER_OSPEEDR4_1;
//设置上下拉,GPIO_PUPDR_PUPDR4=0x00,无上拉,无下拉
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR4_0;
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR14_1;
//GPIOA->BSRR |= GPIO_BSRR_BS_4;//输出高电平
GPIOA->BSRR &= ~GPIO_BSRR_BS_4;//输出低电平
while(1){}
}
首先,我们看,RCC->AHBENR是什么意思?
-> 很形象,箭头,指示的意思。
其实,这个RCC是一个指针,AHBENR是结构体成员
RCC->AHBENR 等同 RCC.AHBENR,大家可尝试在CooCox IDE中输入“RCC.",结果点会自动变成->
我们可以在stm32f0xx.h头文件中找到关于RCC结构体的定义

上面定义的是RCC_TypeDef,我们可以继续查看关于”RCC” 的定义,见STM32F0xx.h第791行。

知道了RCC,那RCC_BASE又是什么呢,见STM32F0xx.h第735行。

AHBPERIPH_BASE又是什么呢?
好了,一切真相大白,RCC->AHBENR,就是指寄存器地址。
我们看该寄存器到底有哪些东西,如下图所示,我们要配置GPIOA的时钟,只需要将IOPA置1即可。
方法很多,第一种就是纯粹的移位与或操作。
RCC->AHBENR |=(1<<17);

另外一种方法,我们继续查看头文件stm32f0xx_rcc.h

查看stm32f0xx.h,这里就得到了IOPAEN的位置了,其宏定义为 RCC_AHBENR_GPIOAEN
如果要设置这个位的值为1,就直接用“或” RCC->AHBENR |= RCC_AHBENR_GPIOAEN
如果要设置这个位的值为0,就先取反,再“与” RCC->AHBENR &= ~RCC_AHBENR_GPIOAEN;

那其他GPIO的配置,也是如此。
史海拾趣
|
尽管大部分的RF 和微波测试系统所要量测的对象只有区区几种广泛的类别- 放大器、发射器、接收器等,但每一套个别的系统却会面临一些不同的环境条件、要求和挑战。虽然每一种状况可能都不一样,不过当您在定义任何的RF和微波测试系统时,却有三项共 ...… 查看全部问答> |
|
开发软件不得经过仿真器和板子通话吗?而且都是什么接口阿?今天刚发现,我的本质有USB和VGA接口,还有一个特小的叫什么1194接口,能连上吗?… 查看全部问答> |
|
想找一块带MPEG解码的ARM开发板,2440放MPEG4,320*240还行,太再放大些,就太慢了。 知道的请帮推荐一下,找了N家,都说没有。 不知道为什么都不卖这板子?… 查看全部问答> |
|
找到一个DDFXCAPS_BLTROTATION CAP,但在驱动中加了以后应用去掉用,仍然返回DDERR_NOROTATIONHW,不清楚大家都是怎么做的,谢谢!给高分!最好有实例代码参考一下… 查看全部问答> |
|
求救:msp430ADC参考电压设置为Veref+和AVss(寄存器SREF_2),Veref+用的是2.5V(万用表测的,准),为什么adc输入0.75的电压就饱和了呢… 查看全部问答> |
|
模数转换器(ADC)、数模转换器(DAC)见的多,也用的多了,可现在在做一个超声波水表的项目,偏偏其中的一个关键器件是时间数字转换器,听这名字就赶脚很高端?网上搜索这方面的资料也不是很多,有了解的筒子吗?出来讲讲啊!… 查看全部问答> |






