【STM32】GPIO的输出-Stm32cubeMX-HAL

目录

实验材料

STM32F103C8T6开发板

Typec数据线

固件下载器

软件准备

Stm32cubemx

keil5 ARM

stm32cubemx配置

建立工程

MCU型号选择

时钟配置

调试模式开启

选择GPIO并开启输出

​编辑生成工程文件

KEIL5设置

工程目录结构

代码写入

编译,烧录


实验材料

STM32F103C8T6开发板

Typec数据线

     有数据功能即可

固件下载器

如:stlink,daplink,jlink等(图为适配上图开发板引出烧录接口)

软件准备

Stm32cubemx

下载地址:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics

keil5 ARM

下载地址:MDK-ARM Version 5.41 Evaluation Software Request

stm32cubemx配置

建立工程

MCU型号选择

此处参照开发板的芯片选用STM32F103C8T6

时钟配置

开启外部时钟和外部低速时钟

调试模式开启

教程使用STlink为烧录器,使用SW调试方式,故使用Serial Wire。此处相当重要,如果没有开启调试接口烧录后可能会变砖,需要从Boot Loader启动重新烧录正常固件才能复原。

选择GPIO并开启输出

具体设置处,首次可以先使用默认设置

输出模式    Push Pull推挽输出,高低电平皆可驱动,适用于本实验的led驱动

                   Open Drain 开漏输出,只输出低电平,高电平的输出需要外部上拉电阻,例如IIC通讯

生成工程文件

对工程命名,选择路径,选择IDE为MDK-ARM即keil5。

设置完后右上角蓝色按钮建立工程即可

KEIL5设置

工程目录结构

代码写入

 代码框架为stm32cubemx生成,故代码需要按照格式书写在每组begin和end之间才不会被覆盖

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
		HAL_Delay(500);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
		HAL_Delay(500);
		
  }
  /* USER CODE END 3 */

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);

GPIOC,IO的组别,使用的IO是PC13故选择GPIOC

GPIO_PIN_13,IO号,PC13故13

GPIO_PIN_SET 高电平or低电平设置,SET为高电平,RESET为低电平

HAL_Delay(500);

500ms的延时

这两个函数皆为HAL库提供的函数,免去了寄存器操作的痛苦

调试器设置

编译,烧录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值