创作

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

3天内不再提示

STM32的GPIO使用

c-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引脚可以看到如下图所示波形输出!!

原文标题:STM32CubeMX教程-GPIO

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

收藏 人收藏

    评论

    相关推荐

    在OpenHarmony上使用linux自带的GPIO点个灯

    背景 从HarmonyOS应用开发玩到OpenHarmony应用开发,前前后后也有大半年了,北向HelloWorld的应用从JAVA写到了JS,...
    发表于 05-23 17:59 1121次 阅读

    零死角玩转STM32—基于野火F103开发板

    本书着重讲解 F103 的外设以及外设的应用,力争全面分析每个外设的功能框图和外设 的使用方法,让....
    发表于 05-23 15:39 7次 阅读

    实际测试代码--START_TEST为例进行阐述

    在真正讲解启动过程之前,先要讲解程序下载到 Flash上的结构和程序运行时(执行到main函数)时的....
    的头像 STM32嵌入式开发 发表于 05-23 10:36 126次 阅读

    在哪里获取CH573的中断函数?

    在例程能找到GPIO ADC TMR UART的中断函数 比如 GPIOA_IRQHandler ADC_IRQHandler TMR0_IR...
    发表于 05-23 06:49 24次 阅读

    开源教程 | 智能生态鱼缸的设计

    摘要: 随着科技的飞速发展,鱼缸在国内市场上产品繁多,功能不统一,而且大多是非智能化的,功能使用不灵活、不方便,整体性能...
    发表于 05-20 18:57 740次 阅读

    ARM cortex-a内核处理器过程具体实现

    指定了程序编译的起始链接地址0x87800000,那么编译时候就按照顺序编译出机器码。在前面的代码先编译,因此定位地址也靠前。可以...
    发表于 05-20 16:36 4802次 阅读

    CH32F203RCT6控制IO电平如何设置?

    路过的老板请教一下,第一次接触CH32F203RCT6,Keil5.30,J-Link  编译官网GPIO工程,能仿真。但IO引脚...
    发表于 05-20 07:04 21次 阅读

    STM32产品选型手册

    STM32完整产品选型手册免费下载。
    发表于 05-19 17:14 75次 阅读

    STM32H743英文数据手册

    32位Arm®Cortex®-M7核,具有双精度FPU和一级缓存:16 KB的数据和16 KB的指令....
    发表于 05-19 17:12 7次 阅读

    嵌入式ARM9 S3C2451如何配置GPIO引脚功能呢

    博主以循循渐进的方式理解 总结如下: GPxCON   配置引脚功能          &...
    发表于 05-19 14:59 3312次 阅读

    如何对s3c2451的GPIO口进行初步封装呢

    最近正在学习arm裸机,所用的开发板是友善之臂的arm9-s3c2451开发板,发现没有向stm32开发板那样可以用库函数开发,只能使用寄存...
    发表于 05-19 14:40 2660次 阅读

    【开发教程6】ARM功能手机-GPIO实验教程

    GPIO实验教程    ——疯壳·开发板系列                    ...
    发表于 05-19 14:03 2697次 阅读
    【开发教程6】ARM功能手机-GPIO实验教程

    ST和微软云Azure合作构建物联网应用

      在当今的万物互联时代,云连接已经是诸多应用开发的基石,包括消费电子,家居和楼宇自动化,智能家电,....
    的头像 意法半导体中国 发表于 05-19 09:53 178次 阅读

    TIM3的GPIO进行重映射不成功是什么原因?

    TIM3的GPIO进行重映射不成功是什么原因 void TIM3_PWMOut_Init( u16 arr, u16 psc, u16 ccp ) { &nbs...
    发表于 05-19 06:22 18次 阅读

    STM32 Power Shield用于IoT设备的超低功耗监控板

      独立模式提供了目标器件的第一印象,如果一个新的电路板,它也是了解 STM32 Power Shi....
    的头像 星星科技指导员 发表于 05-18 14:27 133次 阅读

    基于STM32设计的指针式电子钟与日历

    这是基于STM32设计的一个指针式电子钟+万年历小项目,采用3.5寸的LCD屏显示时钟,日历、温度、....
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 11:10 374次 阅读
    基于STM32设计的指针式电子钟与日历

    基于STM32设计的校园一卡通项目

    信息时代的校园, 离不开信息化的管理, 数字化"校园一卡通"建设是校园信息化建设的重要组成部分, 是....
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 11:07 159次 阅读
    基于STM32设计的校园一卡通项目

    基于STM32设计的数字电子秤

    称重计量是现在社会活动中不可缺少的部分,随着国际交流的发展,称重计量的国际间的统一显得越来越重要。
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 11:04 216次 阅读
    基于STM32设计的数字电子秤

    基于STM32设计的健康检测设备(测温心率计步)

    本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6....
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 11:00 355次 阅读
    基于STM32设计的健康检测设备(测温心率计步)

    基于STM32设计的计算器(实现基本运算)

    计算器是最常见的工具了,现在不管是手机、电脑都带有计算器功能,支持强大的科学运算等。
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 10:56 265次 阅读
    基于STM32设计的计算器(实现基本运算)

    基于STM32设计的环境检测设备

    随着人们生活质量的提高,对于生活环境的问题,人们的关注度进一步提高,同时政府部门采取了许多措施来改善....
    的头像 DS小龙哥-嵌入式技术 发表于 05-18 10:51 776次 阅读
    基于STM32设计的环境检测设备

    移植RT-Thread到STM32开发板的详细步骤例程

    本章开始,先新建一个基于野火STM32全系列(包含M3/4/7)开发板的的RT-Thread的工程模....
    的头像 嵌入式应用开发 发表于 05-18 09:14 1160次 阅读
    移植RT-Thread到STM32开发板的详细步骤例程

    基于STM32的球上自平衡机器人设计方案

    将机器人整体开源,同时总结一下机器人搭建过程中遇到的坑和未来的改进方向。在分享的文件里包含了结构设计....
    的头像 STM32嵌入式开发 发表于 05-17 17:21 390次 阅读

    STM32单片机到底如何软硬件结合

    不知道大家有没有疑惑,为什么软件能控制硬件?
    的头像 硬件攻城狮 发表于 05-17 15:04 435次 阅读

    基于蜂窝连接的IoT设备进行原型设计

      我们还专注于云开发。例如,用户从Espruino获得 STM32 微控制器 (MCU) 的 Ja....
    的头像 星星科技指导员 发表于 05-17 10:53 156次 阅读

    如何利用官方移植例子,创建一个自己demo工程

    之前挖了图解freeRTOS的坑,挖了坑就得填。今天就从使用开始,先把freeRTOS用起来。先聊一....
    的头像 FPGA之家 发表于 05-17 10:02 189次 阅读

    基于STM32平台实现SVPWM调制

    SVPWM是空间矢量脉宽调制(Space Vector Pulse Width Modulation....
    的头像 硬件攻城狮 发表于 05-16 17:42 510次 阅读

    STM32三种启动模式与详细步骤说明

    分享这篇文章,谈一下STM32启动流程。如果读者朋友已经有过汇编相关基础,能够够好理解本文内容。汇编....
    的头像 硬件攻城狮 发表于 05-16 17:17 458次 阅读

    STM32 Step-by-Step如何加快开发速度

    STM32 Step-by-Step 的另一个基本方面是我们的新社区。多年来,许多成员都表达了学习如....
    的头像 星星科技指导员 发表于 05-16 16:23 254次 阅读

    一个单片机调试小工具的编程思路

    在使用keil编译STM32后,我们会在.hex文件的同一个文件夹中发现一个.map文件。这个.ma....
    的头像 硬件攻城狮 发表于 05-16 14:35 214次 阅读

    stm32最小系统原理

    stm32最小系统原理图、原理图免费下载。
    发表于 05-16 14:24 60次 阅读

    STM32MP1微处理器可使用开发软件处理实时代码

      熟悉我们的 STM32 生态系统的人会很高兴我们还发布了STM32CubeMX的更新,这是一种用....
    的头像 星星科技指导员 发表于 05-16 10:04 120次 阅读
    STM32MP1微处理器可使用开发软件处理实时代码

    更强大的传感器和三种用户模式

      继原始 SensorTile 的脚步之后,新型号将获得更新,以利用其更强大的功能。例如,它将获得....
    的头像 星星科技指导员 发表于 05-15 17:35 302次 阅读

    FCM32F103CBT6软硬件兼容STM32F103CBT

    FCM32F103系列采用arm Cortex-M4内核。具有高性能、低成本优势。共有包含48~10....
    发表于 05-14 17:09 49次 阅读

    如何利用STM32实现酒精测试仪的设计

    该项目的诞生是因为观察到在大多数汽车共享服务中,人们即使喝醉了也可以开车,因为没有检查他们的状况。事....
    的头像 科技观察员 发表于 05-13 16:40 305次 阅读
    如何利用STM32实现酒精测试仪的设计

    应用程序编程接口实现更快地创建应用程序

      事实上,我们的一些竞争对手销售他们的 IC,但由于他们也销售阅读器,因此他们经常阻止第三方访问寄....
    的头像 星星科技指导员 发表于 05-13 14:45 143次 阅读
    应用程序编程接口实现更快地创建应用程序

    在STM32微控制器中获得最佳ADC精度案例

    详细讲解ST单片机中ADC精度的影响因素以及量化计算方法
    发表于 05-13 14:39 49次 阅读

    STM32MP1模块满足3种不同的电源需求

      Markus 强调工作中的字节超出了硬件。因此,使用 STM32MP1 模块的开发人员可以专注于....
    的头像 星星科技指导员 发表于 05-13 10:30 142次 阅读

    STM32微控制器利用第一个开源分布式账本技术IOTA

      X-CUBE-IOTA1 帮助设计可以利用 IOTA 网络的物联网设备。在 ST 演示应用程序中....
    的头像 星星科技指导员 发表于 05-13 10:13 175次 阅读

    Fieldscale SENSE中的STM32可获得最佳功能系统

    SENSE 将支持STM32F0、STM32F3、STM32L0、STM32L4、STM32L5和S....
    的头像 星星科技指导员 发表于 05-13 10:00 182次 阅读
    Fieldscale SENSE中的STM32可获得最佳功能系统

    工业应用的STM32 Arduino开发板Portenta H7

      新开发板为熟悉 Arduino 生态系统并希望体验工业解决方案的用户搭建了良好的桥梁。作为 Ar....
    的头像 星星科技指导员 发表于 05-13 09:19 134次 阅读

    如何使用STM32制作启用BLE的智能灯泡

    本文将教您如何使用 STM32 制作启用 BLE 的智能灯泡。
    的头像 科技观察员 发表于 05-12 17:15 287次 阅读
    如何使用STM32制作启用BLE的智能灯泡

    串口的循环队列是什么?

    假设串口一次只发一个数据,这倒是简单了,每次只对这一个数据进行判断,然后处理相关指令。但现实不会一直....
    的头像 嵌入式ARM 发表于 05-12 14:57 116次 阅读

    STM32Cube是什么?

    在 ST 公司的发展过程中,STM 系列嵌入式单片机也得到了飞速发展,目前 STM32 系列单片机(....
    的头像 STM32单片机 发表于 05-12 10:42 176次 阅读

    具有Alexa功能的STM32嵌入式参考设计方案

    尽管我们在参考设计中提供了所有工具和解决方案,但我们了解设计具有 Alexa 功能的基于云的平台仍然....
    的头像 星星科技指导员 发表于 05-12 10:04 125次 阅读

    在STM32 MCU上集成Azure RTOS功能的应用

      探索 RTOS 的中间件并非易事,X-CUBE-AZRTOS 也不假装不这样。但是,它确实使开发....
    的头像 星星科技指导员 发表于 05-12 09:28 547次 阅读

    微控制器和微处理器之间节省资源和优化工作流程的方法

      开发人员的另一个常见问题来自许多人必须投入大量工作来优化他们的系统。采用 Storyboard ....
    的头像 星星科技指导员 发表于 05-11 17:11 254次 阅读

    使用SFI在STM32上实施安全固件安装

      实施安全固件安装变得更加简单。工程师不再需要额外的工具,从而大大简化了他们的工作流程。安全配置支....
    的头像 星星科技指导员 发表于 05-11 15:49 193次 阅读

    FP-AI-FACEREC1,机器学习市场渗透新篇章

      工程师可以使用 FP-AI-FACEREC1 的预训练神经网络进行试验,以实现快速的概念验证。然....
    的头像 星星科技指导员 发表于 05-11 14:55 177次 阅读

    X-CUBE-IOTA1帮助开发者利用IOTA

      X-CUBE-IOTA1 2.0 还包括有助于工程师缩短产品上市时间的功能。例如,新版本包含一个....
    的头像 星星科技指导员 发表于 05-11 14:23 157次 阅读

    TouchGFX Designer 4.17帮助构建更好的用户界面

    新的 TouchGFX Designer 4.17 也是 ST 的关键版本,因为它体现了我们与社区更....
    的头像 星星科技指导员 发表于 05-11 10:06 165次 阅读

    使用STM32Trust探索嵌入式系统安全的所有方面

      SFI 主要依赖于两个工具。开发人员使用STM32CubeProgrammer软件中提供的 Tr....
    的头像 星星科技指导员 发表于 05-11 09:45 181次 阅读

    借助ThingPark IoT平台完成无线固件更新

      整个解决方案的美妙之处在于它存在于STM32Cube 生态系统中。视频中的演示在 STM32WL....
    的头像 星星科技指导员 发表于 05-10 14:26 100次 阅读

    移植开源Gui框架GuiLite到STM32F4OLED屏幕

    最近在Github找到一个有趣的开源Gui框架:GuiLite。
    的头像 凡亿PCB 发表于 05-10 10:28 256次 阅读

    STM32F10系列参考手册中英文

    中文STM32F10系列的中文参考手册, 中文STM32F10系列的英文参考手册
    发表于 05-09 16:31 55次 阅读

    X-CUBE-AI v7.1.0的三大更新内容

    X-CUBE-AI是STM32生态系统中的AI扩展包。可自动转换预训练的人工智能模型,并在用户项目中....
    的头像 意法半导体中国 发表于 05-09 16:17 333次 阅读

    了解STM32单片机最小系统

    VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。VDDA是单....
    的头像 硬件攻城狮 发表于 05-09 14:39 860次 阅读

    STM32 USB初级培训-USB IP介绍

    STM32 USB初级培训_Part3。STM32 MCU有两种带USB功能的IP。
    发表于 05-06 17:38 69次 阅读

    STM32 USB初级培训资料分享

    STM32 USB初级培训资料分享。连到PC,自动识别出鼠标设备。
    发表于 05-06 16:49 42次 阅读