在写这个程序时,虽然简简单单是让一个LED灯亮,但应该先了解stm32的GPIO口的基本结构与工作模式。
GPIO口的工作模式
(1)输入模式
1.输入浮空
2.输入上拉
3.输入下拉
4.模拟输入
(2)输出模式
1.开漏输出
2.开漏复用功能
3.推挽式输出
4.推挽式复用功能
明白GPIO口后,既然·让一个LED灯亮,我们需要选择一个LED灯,打开stm32的原理图:
我们可以选取D1,PB5-LED1,
#include “pbdata.h”
void RCC_Configuration(void);
void GPIO_Configuration(void);
int main(void)
{
RCC_Configuration(); //系统 时钟初始化
GPIO_Configuration();//端口初始化
while(1)//控制端口
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);//GPIO_SetBits设置指定的数据端口位
delay(6000000);//0.5s
GPIO_ResetBits(GPIOB,GPIO_Pin_5);//清除指定的数据端口位
delay(6000000);//0.5s
}
{
SystemInit();//时间配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能或者失能 APB2 外设时钟
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitStructure为设置的变量
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//led 选择待设置的 GPIO 管脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;// 设置选中管脚的速率
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;// GPIO 设置选中管脚的工作状态 推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure);//GPIO(B)中的B是指定义的B型端口
}
在写这个程序时,虽然简简单单是让一个LED灯亮,但应该先了解stm32的GPIO口的基本结构与工作模式。
GPIO口的工作模式
(1)输入模式
1.输入浮空
2.输入上拉
3.输入下拉
4.模拟输入
(2)输出模式
1.开漏输出
2.开漏复用功能
3.推挽式输出
4.推挽式复用功能
明白GPIO口后,既然·让一个LED灯亮,我们需要选择一个LED灯,打开stm32的原理图:
我们可以选取D1,PB5-LED1,
#include “pbdata.h”
void RCC_Configuration(void);
void GPIO_Configuration(void);
int main(void)
{
RCC_Configuration(); //系统 时钟初始化
GPIO_Configuration();//端口初始化
while(1)//控制端口
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);//GPIO_SetBits设置指定的数据端口位
delay(6000000);//0.5s
GPIO_ResetBits(GPIOB,GPIO_Pin_5);//清除指定的数据端口位
delay(6000000);//0.5s
}
{
SystemInit();//时间配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能或者失能 APB2 外设时钟
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitStructure为设置的变量
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//led 选择待设置的 GPIO 管脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;// 设置选中管脚的速率
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;// GPIO 设置选中管脚的工作状态 推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure);//GPIO(B)中的B是指定义的B型端口
}
举报