跑马灯实验——库函数h

本文介绍了STM32跑马灯实验的硬件连接和库函数使用,重点讲解了GPIO初始化、读取电平和设置输出电平的函数。在GPIO初始化中,详细解释了GPIO_Init函数的参数及结构体配置。此外,还提醒了进行跑马灯实验时必须使能IO口时钟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、硬件连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LED0 PA8
LED1 PD2

选择GPIO输出方式:
推挽输出:可以输出强高低电平

二、库函数介绍

组介绍

在这里插入图片描述
1.组 USER 下面存放的主要是用户代码。 system_stm32f10x.c 里面主要是系统时钟初始化函数 SystemInit 相关的定义,一般情况下文件用户不需要修改stm32f10x_it.c 里面存放的是部分中断服务函数。 main.c函数主要存放的是主函数。
2.组 HARDWARE 下面存放的是每个实验的外设驱动代码,他的实现是通过调用 FWLib下面的固件库文件实现的,比如 led.c 里面调用stm32f10x_gpio.c 里面的函数对 led 进行初始化,这里面的函数是讲解的重点。后面的实验中可以看到会引入多个源文件。
3.组 SYSTEM 是 ALIENTEK 提供的共用代码, 包含 Systick 延时函数, IO 口位带操作以及串口相关函数。
4.组 CORE 下面存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修改。
5.组 FWLib 下面存放的是 ST 官方提供的外设驱动固件库文件,这些文件大家可以根据工程需要来添加和删除。每个 stm32f10x_ppp.c 源文件对应一个 stm32f10x_ppp.h 头文件。
代码层次:
代码层次

IO口相关库函数文件介绍(组FWILIB)

源文件 头文件
stm32f10x_gpio.c stm32f10x_gpio.h
misc.c misc.h
stm32f10x_rcc.c stm32f10x_rcc.h

GPIO重要库函数介绍

一个初始化函数 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
两个读取输入电平函数 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
四个设置输出电平函数 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)(BSRR); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)(BRR);void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

初始化函数void GPIO_Init

两个入口参数指针

GPIO_TypeDef*GPIOx
包含结构体

typedef struct
{
   
   
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;

第一个输入参数GPIOx是用来指定 GPIO(范围从GPIOA-GPIOG)
GPIO_InitTypeDef*GPIO_InitStruct:
包含结构体

typedef struct
{
   
   
  uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.
                                      This parameter can be any value of @ref GPIO_pins_define */

  GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.
                                      This parameter can be a value of @ref GPIOSpeed_TypeDef */

  GPIOMode_Type
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值