0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32的GPIO使用

STM32嵌入式开发 来源:STM32嵌入式开发 作者:STM32嵌入式开发 2020-09-03 09:28 次阅读

分享本文,介绍STM32的GPIO使用。

设置GPIO引脚的输出功能,将对应引脚拉高或拉低输出

初步认识STM32最新的HAL库的使用

用代码实现控制GPIO引脚输出产生周期出1s 占空比为50%的PWM波

示例详解

做实验用到的STM32F103C8T6最小系统板,如下图所示。使用STM32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

最小系统板原理图:

新建并配置工程

在新弹出的界面中的搜索框中输入 “stm32f103c8” ,并双击右侧栏中列出的STM32F103C8

弹出如下图所示界面,至此工程创建完成。

接下来配置工程。

配置系统伏仿真调试接口, 在System Core 目录下单击SYS选项,将其中的Debug选项选为Serial Wire, 此时PA13 PA14引脚会被占用。

配置STM32 CUBEMX 工程。

配置系统时钟源,在System Core 目录下单击RCC选项,将其中的High Speed Clock( HSE )选项选为Crystal/ceramic resona…, 此时PD0 PD1引脚会被占用,配置图如下。

配置GPIO PA0引却为输出,在右侧图中单击PA0引脚 ,在出现的选项选框中选择GPIO_Output 选项,选完后在在System Core 目录下单击GPIO选项,在GPIO子项中单击列表中的PA0,可看查看到PA0的详细设置参数,也可以根据需要进行修改,在这里保持默认即可。

配置系统时钟树,将工程界面切换到Clock Configureation 界面,完成如下配置。

配置代码生成,工程界面切换到Project Manager 界面,在界面左侧单击Project项,将其设置成如下图所示( 设置工程路径在E:Stm32cubePrj目录,工程名为stm32_gpio, 开发环境为 MDK-ARM v5 )。

在界面左侧单击Code Generator项,将其设置成如下图所示。

只拷贝所需文件到工程,为每个接口生成独立的初始化头文件和源文件,将所有未使用的引脚设为模拟输入。

打开工程

生成代码,单击工程界面中”GENERATE TOOL” 开始生成代码,代码生成后弹出是否打开工程对话框,单击“Open Project”打开创建的工程。

在代码工程(MDK/keil)中的 main.c 中 man函数中如下红框中代码:

编译工程

烧录代码,在代码工程中单击“Options for Target” 图标,在弹出的窗口中选中“Debug”页,选择相应的烧录工具,本示例所用是jlink工具。

单击右侧“Setting”按钮,将Port 设为“SW”, 最大速度建议不要超过5M。

如果仿真调式工具接线过长,可以将最大速度设为100K,这样可以保证烧录成功。

选“flash Download”页,勾选“Reset and Run”,并确保其它内容如下图所示。

设置完上述设置后,便可进行下载操作,将调试仿真工具中的与最小系统板连接好,在工程中点Download 按钮,或按F8快捷键进入下载,下载完成后会出现如下图所示提示信息

操作GPIO引脚实现周期1S占空为50%的PWM实验完成。

示波器逻辑分析工具在PA0引脚可以看到如下图所示波形输出!!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348732
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50565

原文标题:STM32CubeMX教程-GPIO

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32 GPIO的工作模式

    在之前围绕STM32GPIO的基本结构进行了介绍,图1为STM32的5V容忍的GPIO口内部基本结构图,图2为GPIO的基本结构中各个模块
    发表于 04-14 10:40 1383次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的工作模式

    STM32 GPIO的API函数配置和使用技巧

    本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。
    发表于 04-14 10:46 845次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的API函数配置和使用技巧

    STM32GPIO操作配置和使用方法

    本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。
    的头像 发表于 07-07 16:50 3329次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>操作配置和使用方法

    《振南电子STM32视频教程》第七讲:STM32GPIO和AFIO的配置和应用

    [第7讲] STM32GPIO和AFIO的配置和应用(54分钟),由何强主讲.本课主要讲解:(1).STM32GPIO;(2).STM32
    发表于 10-09 15:54 1244次阅读

    STM32 GPIO寄存器ODR BSRR BRR

    STM32 GPIO寄存器ODR BSRR BRR详细介绍
    发表于 07-29 10:27 2次下载

    关于STM32GPIO配置不同输出速度会有什么影响?

    STM32GPIO配置不同输出速度会有什么影响?
    的头像 发表于 03-01 11:53 1.2w次阅读
    关于<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>配置不同输出速度会有什么影响?

    STM32GPIO操作例程免费下载

    本文档的主要内容详细介绍的是KEIL官方STM32GPIO操作例程免费下载。
    发表于 01-23 08:00 0次下载

    作业一、STM32GPIO综合设计及PROTEUS仿真验证

    作业一、STM32GPIO综合设计及PROTEUS仿真验证
    发表于 11-21 18:06 30次下载
    作业一、<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>综合设计及PROTEUS仿真验证

    stm32 GPIO使用总结

    stm32 GPIO使用总结
    发表于 12-01 11:21 8次下载
    <b class='flag-5'>stm32</b> <b class='flag-5'>GPIO</b>使用总结

    STM32-GPIO详解

    STM32-GPIO配置介绍typedef struct { uint32_t GPIO_Pin; GPIOMode_TypeDef GPIO
    发表于 12-24 19:12 15次下载
    <b class='flag-5'>STM32-GPIO</b>详解

    关于STM32 GPIO的配置等问题

    关于STM32 GPIO的配置等问题一、GPIO的基本结构图示二、模式直接上图:图表数据解析:三、配置等问题问题一、GPIO的基本结构图示提示:图片来自
    发表于 01-13 16:22 3次下载
    关于<b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的配置等问题

    STM32GPIO的输入,输出与开漏,推挽,上拉,下拉的关系

    STM32GPIO的输入,输出与开漏,推挽,上拉,下拉的关系
    发表于 01-14 14:45 25次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>的输入,输出与开漏,推挽,上拉,下拉的关系

    AN4899_STM32GPIO配置

    AN4899_STM32GPIO配置
    发表于 11-21 17:07 2次下载
    AN4899_<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>配置

    STM32GPIO在实际开发设计的使用配置和技巧

    一、前言 本篇开始对STM32GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理。 了解过STM32
    的头像 发表于 06-22 10:22 519次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>在实际开发设计的使用配置和技巧

    STM32使用GPIO配置的5种方式

    STM32使用GPIO配置的5种方式 STM32是常见的一种微控制器,其GPIO模块可以实现对外部设备的控制和数据传输,包括数字I/O口、模拟输入口和输出口等。在
    的头像 发表于 10-26 17:42 769次阅读