5、GPIO输出驱动LED

目录

0x01、GPIO相关库函数

0x0001、GPIO初始化函数

0x0002、读取GPIO函数

0x0003、写入GPIO函数

0x0004、置位函数

0x0005、复位函数

0x02、硬件设计

0x03、自行编写的GPIO初始化函数

0x04、源程序下载地址


0x01、GPIO相关库函数

0x0001、GPIO初始化函数

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

函数功能:根据指定的参数初始化GPIOx外设。

     参数1:GPIO_TypeDef* GPIOx                         —> 指定GPIO端口

     参数2:GPIO_InitTypeDef* GPIO_InitStruct      —> 指向包含指定GPIO外围设备配置信息的GPIO_InitTypeDef结构体的指针。

    返回值:无

0x0002、读取GPIO函数

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

函数功能:读取指定的输入端口引脚。

     参数1:GPIO_TypeDef* GPIOx       —> 指定GPIO端口

     参数2:uint16_t GPIO_Pin               —> 指定要读取的端口位,GPIO_Pin_x,其中x可以是(0..15)

    返回值:bitstatus,输入端口引脚值。

0x0003、写入GPIO函数

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)

函数功能:写指定的GPIO端口。

     参数1:GPIO_TypeDef* GPIOx       —> 指定GPIO端口

     参数2:uint16_t PortVal                    —> 指定要写入端口输出数据寄存器的值。

    返回值:无

0x0004、置位函数

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

函数功能:置位选定的数据端口位。

     参数1:GPIO_TypeDef* GPIOx       —> 指定GPIO端口

     参数2:uint16_t GPIO_Pin               —> 指定要写入的端口位,GPIO_Pin_x,其中x可以是(0..15)

    返回值:无

0x0005、复位函数

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

函数功能:复位选定的数据端口位。

     参数1:GPIO_TypeDef* GPIOx       —> 指定GPIO端口

     参数2:uint16_t GPIO_Pin               —> 指定要写入的端口位,GPIO_Pin_x,其中x可以是(0..15)

    返回值:无

0x02、硬件设计

 实验目的:驱动RGBLED

0x03、自行编写的GPIO初始化函数

/**
  *@brief     LED初始化
  *@param     无
  *@return    无
  */
void Led_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;                                       // 定义GPIO_InitTypeDef结构体
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);                       // 初始化GPIOC的时钟

    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;    // 选择GPIO_Pin_10、11、12
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;                           // 推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                           // 输出速率50MHz
    GPIO_Init(GPIOC, &GPIO_InitStructure);                                      // 初始化GPIOC
    GPIO_SetBits(GPIOC,GPIO_Pin_10);                                            // 初始化熄灭红灯
    GPIO_SetBits(GPIOC,GPIO_Pin_11);                                            // 初始化熄灭蓝灯
    GPIO_SetBits(GPIOC,GPIO_Pin_12);                                            // 初始化熄灭绿灯
}

0x04、源程序下载地址

下面上传一个源程序供大家参考:

https://download.csdn.net/download/thebestleo/13191669https://download.csdn.net/download/thebestleo/13191669

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值