历史上的今天
今天是:2025年08月15日(星期五)
2018年08月15日 | STM32-点亮LED灯(GPIO配置)
2018-08-15 来源:eefocus
点亮LED灯应该是每一人学习硬件的第一个实验了吧!从51到32在到ARM,废话少说,下面开始使用STM32点亮LED灯。
GPIO:又叫通用输入输出口,是微控制器必不可少的外设单元,用来和外界进行信号传递,数据交互的接口。
STM32的GPIO根据型号的不同分为A-H组,每一组都称为GPIOx组,每组都有独立的寄存器,因为相对于寄存器,函数版的使用还是比较容易入门的,尤其是有些编程基础的人来讲,但是寄存器是不可以忽视的,学会了基础的函数操作还是要回头去看看具体寄存器是如何运行的,这点很重要,高手和菜鸟的区别吧!
STM32的GPIO还具有十分强大复用功能,这点以后会介绍和使用到。现在就把它的GPIO当成一个可输出高低电平的引脚就可以了。
首先,看一下相关的寄存器,先了解既可。
在看一关于GPIO的所有方法。
其中在第一个实验中用到的函数,也就几个,比如GPIO_Init()用来初始化IO口,GPIO_SetBits(),GPIO_ResetBits(),用来置位和复位IO口的电平。GPIO_WriteBits(),和GPIO_Write()也可以用来改变GPIO的电平,具体的差别就要去看手册是了解了。
#include "stm32f10x.h"
/**
* @brief ³õʼ»¯GPIO£¬Ä¬ÈÏËÙ¶ÈΪGPIO_Speed_50MHz;
*
* @param GPIO·Ö×é
* @param GPIOÒý½Å
* @param GPIOÒý½Åģʽ
* @retval None
*/
void GPIO_init(GPIO_TypeDef * GPIOx,u16 GPIO_Pin,GPIOMode_TypeDef Mode)
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=Mode;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOx,&GPIO_InitStruct);
}
int main()
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_init(GPIOA,GPIO_Pin_0,GPIO_Mode_Out_PP);
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
while(1);
}
以上代码是将GPIOA0引脚设置为低电平。
上一篇:STM32-串口程序
下一篇:STM32-时钟树
史海拾趣
|
底层中断调试--开中断,程序就飞--这是为什么??--(与wince无关) 程序运行在Supervisor Mode下,当程序做完初始化、中断向量表初始化以后。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 这是一段宏指令,用于下面的程 ...… 查看全部问答> |
|
如图 scsi <---> scsi controller <---> pci <---> cpu 如果我想对scsi编写驱动我该对哪个部分编写? 如图 scsi scsi controller pci cpu 如果我想对scsi编写驱动我该对哪个部分编写?… 查看全部问答> |
|
我最近在跟着老师做点项目,也是刚接触WinCE,我想让Skype在Windows CE操作系统下运行 ,可是运行不起来,但是在Pocket PC 上可以跑起来,所以感觉要对WinCE 系统重新定制,请问各位高手给点意见。WinCE 相对于Pocket PC到底缺少那些咚咚.如何添加啊 ...… 查看全部问答> |
|
参加青岛2011年6月29号TI M3 DAY研讨会,依旧换新换来的一块LM3S8962的板子,全新,跟之前坛里活动的板子一样的, 所以想350元要出手,或者交换STM32开发板一块。 有意者请联系QQ:712996168… 查看全部问答> |




