STM32CubeMX——GPIO配置

  • 说明
  • GPIO-output
    • 配置部分
      • 新建工程
      • 配置系统时钟
      • 配置GPIO引脚(以PB15为例)
      • 配置时钟树
      • 项目文件设置
    • 代码部分
      • 函数说明
      • 应用举例
  • GPIO-input
    • 配置部分
      • 新建工程
      • 配置系统时钟
      • 配置GPIO引脚(以PB15为例)
      • 配置时钟树
      • 项目文件设置
    • 代码部分
      • 函数说明
      • 应用举例

说明

本文将以STM32F103C8T6单片机为例讲解GPIO引脚的配置

GPIO-output

配置部分

新建工程

  • 搜索单片机型号(STM32F103C8T6)
  • 选择单片机
  • 创建工程

配置系统时钟

  • 选择高速时钟(外部陶瓷晶体振荡器)
  • 选择低速时钟(外部陶瓷晶体振荡器)

配置GPIO引脚(以PB15为例)

  • 选择PB15引脚配置成output模式
  • 配置引脚功能
    • 切换到GPIO选项面板
    • 选择对应的GPIO引脚(PB15)
    • 对框内属性进行配置
  1. 配置GPIO输出级别:Low(低级别)
  2. GPIO的输出模式:Output Push Pull(推挽输出)
  3. GPIO是否上下拉:No pull-up and no pull-down(既不上拉也不下拉)
  4. GPIO输出速度:Low(低速)
  5. 用户标签:

配置时钟树

  • 选择时钟设置界面
  • 将HCLK配置到72MHz,系统自动配置各个时钟

项目文件设置

  • 选择文件设置选项卡
  • 设置项目名称
  • 设置存储位置
  • 选择所用IDE
  • 选择为每个功能生成一个.c和.h文件
  • 生成代码

代码部分

函数说明

// 与GPIO-output有关代码
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);//设置GPIO引脚电平
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);//翻转GPIO引脚电平(原状态为高电平,则变为低电平;原状态为低电平,则变为高电平)

应用举例

/* USER CODE BEGIN 3 *///设置GPIO电平实例
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//设置PB15引脚为高电平
HAL_Delay(500);//延时500ms
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//设置PB15引脚为低电平
HAL_Delay(500);//延时500ms//翻转GPIO电平实例
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_15);//翻转GPIO引脚电平
HAL_Delay(500);//延时500ms/* USER CODE END 3 */

GPIO-input

配置部分

新建工程

  • 搜索单片机型号(STM32F103C8T6)
  • 选择单片机
  • 创建工程

配置系统时钟

  • 选择高速时钟(外部陶瓷晶体振荡器)
  • 选择低速时钟(外部陶瓷晶体振荡器)

配置GPIO引脚(以PB15为例)

  • 选择PB15引脚配置成input模式
  • 配置引脚功能
    • 切换到GPIO选项面板
    • 选择对应的GPIO引脚(PB15)
    • 对框内属性进行配置
  1. GPIO模式:输入模式
  2. GPIO是否上下拉:Pull-up(上拉)
  3. 用户标签:

配置时钟树

  • 选择时钟设置界面
  • 将HCLK配置到72MHz,系统自动配置各个时钟

项目文件设置

  • 选择文件设置选项卡
  • 设置项目名称
  • 设置存储位置
  • 选择所用IDE
  • 选择为每个功能生成一个.c和.h文件
  • 生成代码

代码部分

函数说明

// 与GPIO-input有关函数
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);//读取GPIO引脚状态

应用举例

/* USER CODE BEGIN 3 */
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_15)==GPIO_PIN_RESET){//判断PB15引脚是否为低电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET);//设置PB14引脚为高电平
}else{HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET);//设置PB14引脚为低电平
}
/* USER CODE END 3 */

STM32CubeMX——GPIO配置相关推荐

  1. STM32CubeMX GPIO的使用

    STM32CubeMX GPIO的使用 一.GPIO口配置 1.GPIO的主要配置有输入和输出 ① 作为普通GPIO输入: 根据需要配置该引脚为浮空输入.带弱上拉输入或带弱下拉输入,同时不要使能该引脚 ...

  2. STM32CubeMX——环境配置以及实例编译烧写

    一.STM32CubeMX环境配置 1.安装STM32CubeMX 官网下载:https://www.st.com/content/st_com/en/products/development-too ...

  3. DSP 28335中GPIO配置

    F28335有三种32位的I/O口,依次PORTA(GPIO0-GPIO31),  PORTB(GPIO32-GPIO63),  PORTC(GPIO64-GPIO87),这些口都可以配置为普通的数字 ...

  4. MTK 驱动开发(2)---GPIO 配置

    1.GPIO 配置 拿到一个手机项目,GPIO 总是和MTK 提供的默认的代码的GPIO 的使用不一样,需要根据原理图进行修改GPIO配置,配置GPIO 需要使用MTK 提供的工具DrvGen.exe ...

  5. GPIO 配置之ODR, BSRR, BRR 详解

    STM32 GPIO 配置之ODR, BSRR, BRR 详解 用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态. ODR寄存器可读可写:既能 ...

  6. STM32F1模拟iic的GPIO配置(小总结)

    最近学习,发现需要总结一下模拟iic的gpio配置,相信你懂得,但是最好还是需要理解清楚. 1.初始化GPIO void IIC_Init(void) { GPIO_InitTypeDef GPIO_ ...

  7. 国民技术GPIO配置推挽输出模式

    GPIO配置是在开发单片机常用的.下面就来介绍如何将GPIO配置推挽输出模式. typedef enum {GPIO_Mode_Input = 0x00000000, /*!< Input Fl ...

  8. 【SemiDrive源码分析】【驱动BringUp】13 - GPIO 配置方法

    [SemiDrive源码分析][驱动BringUp]13 - GPIO 配置方法 一.Android Linux 下 GPIO 配置方法(AP1 Domain - 6 * A55) 1.1 Kerne ...

  9. STM32CubeMX工程配置——以STM32F103C8T6为例

    之前的博客<STM32CubeMX开发环境搭建及示例>已经搭建好了开发环境,但是在开发的过程中总是忘记STM32CubeMX是如何配置工程的,所以这里随手记录一下,本篇博客会随着自己的学习 ...

最新文章

  1. 进程状态控制-进程的撤销
  2. chHANDLE_DLGMSG(windows核心编程)讲解
  3. MySQL批量SQL插入性能优化
  4. 经常误提交.DS_Store文件怎么办?Git全局排除配置了解一下!
  5. android studio无线真机调试
  6. 深入浅出python机器学习_9.1.5_通过数据预处理提高模型的准确率_MinMaxScaler
  7. 【好程序员笔记分享】——UIView与CALayer详解
  8. matlab guidata两个,Matlab
  9. 生成随机测试数据的文件的程序
  10. 单目摄像头光学图像测距_摄像头与毫米波雷达(Radar)融合解析
  11. java二分法查找_java 中二分法查找的应用实例
  12. java托盘图标变白在linux,升级Ubuntu后系统托盘图标消失
  13. HDOJ 1698 Just a Hook(线段树成段更新)
  14. 【java笔记】类的抽象
  15. 【数据库】NoSQL数据库简介
  16. FeedingBottle 3.2另一个无线破解GUI
  17. 计算机管理员账户权限不足,用户权限不足,请使用管理员权限。怎么办啊?求高手帮忙!谢了。...
  18. c语言 公式编辑器,AxMath(公式计算编辑器)
  19. 2021-03-24
  20. 定时任务实现(中午12点执行,每1分钟执行一次)

热门文章

  1. MT6771_MT6762_ISP_Tuning_Introduction
  2. 卫星天线驻波比,天线增益,天线极化方式,天线轴比解读
  3. 学校计算机和网络安全情况,学校网络安全自查报告
  4. J2ME游戏开发(从零开始)
  5. 机器学习基础篇——最大后验概率
  6. Messager说明
  7. AutoLisp从入门到放弃(二十一)
  8. 北大操作系统陈向群第八章知识点
  9. LAMP架构1-LVS+Keepalived实现高可用的ip负载均衡
  10. GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)