L2-1 Keil5-MDK软件STM32工程仿真(GPIO篇)

发布者:幸福如愿最新更新时间:2025-01-07 来源: elecfans关键字:STM32 手机看文章 扫描二维码
随时随地手机看文章

前置条件

  • 已创建STM32工程

  • 已完成GPIO口驱动代码,本文以推挽输出为例,演示如何通过逻辑分析仪观察GPIOE的GPIO_Pin_5的toggle操作

代码示例

1. main.c

// main.cint main(void) {

    Led_Init(); //GPIO初始化配置

    while (1) {
        Led_On(); // GPIO电平置高
        Delay_MS(1000);

        Led_Off(); // GPIO电平置低
        Delay_MS(1000);
    }}

2. led.h

// led.h

#include 'stm32f10x.h'



int Led_Init(void);


int Led_On(void);


int Led_Off(void);


3. led.c

// led.c#include 'led.h'int Led_Init(void) {
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
    GPIO_InitTypeDef GPIO_InitStructure;

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOE, &GPIO_InitStructure);
    return 0;}int Led_On(void) {
    GPIO_WriteBit(GPIOE, GPIO_Pin_5, Bit_RESET);
    return 0;}int Led_Off(void) {
    GPIO_WriteBit(GPIOE, GPIO_Pin_5, Bit_SET);
    return 0;}

调试仿真

  • 原始配置


    默认配置

  • 应修改为
    PS:3、4两处应该修改为所选STM32芯片的类型

    修改后配置


  • 点击Debug按钮,启动调试


    启动调试

  • 打开逻辑分析仪


    逻辑分析仪

  • 点击[Setup],在弹出窗口中添加PE5为观察端口
    PS:注意端口号输入格式,PE5 为 PORTE.5

    image.png?imageView2/2/w/1000


  • 调试的同时观察波形


    调试&观察波形

  • 调试说明


    调试说明

    • 左1:Step,普通单步调试,遇到函数时会进入函数内部逐行执行

    • 左2:Step Over,单步调试,遇到函数时不会进入函数内部,直接返回执行结果

    • 左3: Setp Out,跳出当前正在执行的函数,直接返回执行结果,非强制退出,只是函数体内剩余的代码行不再单步调试

    • 左4:Run to Cursor Line,跳转到光标所在代码行,指C语言代码行



关键字:STM32 引用地址:L2-1 Keil5-MDK软件STM32工程仿真(GPIO篇)

上一篇:stm32同时使用TIM2、TIM3、TIM4输出PWM控制三个舵机
下一篇:【STM32 LL库编程】端口复用与重映射

推荐阅读最新更新时间:2026-03-25 08:24

明解STM32GPIO理论基础知识之八种工作模式
一、引言 在之前围绕STM32的GPIO的基本结构进行了介绍,图1为STM32的5V容忍的GPIO口内部基本结构图,图2为GPIO的基本结构中各个模块部分的概述。 阅读GPIO基本结构的内容能够对GPIO的工作模式有更深的了解。正是由于GPIO的结构中包含了多样性的电路和模块,因此进行合理的配置组合,就可以使得GPIO应用在不同的工作模式下进行工作。 图1 STM32的5V容忍的GPIO内部基本结构 图2 GPIO基本结构包含的功能概述 二、工作模式概述 图3为STM32的GPIO工作模式概述图,从图中可以看出,GPIO端口的静态特征就是指芯片可供你选择的该GPIO的配置,只有通过对使用的GPIO
[单片机]
明解<font color='red'>STM32</font>—<font color='red'>GPIO</font>理论基础知识<font color='red'>篇</font>之八种工作模式
明解STM32GPIO应用设计之IO外部中断EXTI原理及使用方法
一、前言 在之前针对STM32的GPIO相关API函数及配置使用进行了详细的介绍,GPIO作为输入引脚时,调用相关读信号引脚函数接口就可以在程序的循环中,轮询的对输入信号进行读取检测操作,除了轮询的方式访问输入引脚,还可以通过另外一种叫做外部中断的方式来对引脚的输入信号进行检测,本篇首先介绍下EXTI的结构,接着介绍外部中断的相关概念,对STM32的IO外部中断EXTI有个初步的了解,在此基础上重点围绕IO外部中断EXTI的使用展开分析。 图1 外部中断设计 二、EXTI结构 EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20个中断
[单片机]
明解<font color='red'>STM32</font>—<font color='red'>GPIO</font>应用设计<font color='red'>篇</font>之IO外部中断EXTI原理及使用方法
STM32学习笔记 — 之GPIO端口
最近刚开始学习STM32,所以从最基本的GPIO开始学起;首先看看STM32的datasheet上对GPIO口的简单介绍: 每个GPI/O 端口有两个32 位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个32 位置位/复位寄存器(GPIOx_BSRR),一个16 位复位寄存器(GPIOx_BRR)和一个32 位锁定寄存器(GPIOx_LCKR)。 GPIO 端口的每个位可以由软件分别配置成多种模式。每个I/O 端口位可以自由编程,然而I/0 端口寄存器必须按32 位字被访问(不允许半字或字节访问)。GPIOx_BSRR 和GPIOx_BRR 寄存器
[单片机]
GD32开发实战指南(基础) 第2章 初始GPIO流水灯
开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK 1 GPIO工作原理 熟悉单片机的朋友都知道,学习的第一个例程就是流水灯,要想实现流水灯,首先必须了解GPIO的工作原理。GPIO的基本结构如下图所示。 GD32 的 IO 口可以由软件配置成如下 8 种模式: 输入模式 浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。通俗讲就是让管脚什么都不接,浮空着。信号进入芯片内部后,既没有接上拉电阻也没有接下拉电阻,经由触发器输
[单片机]
stm32mp1 Cortex M4开发2:通过GPIO点亮LED灯详解
写在前面: 本文章为《ARM Cortex-M4裸机开发篇》系列中的一篇,,全系列总计14篇。笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板),Cortex-M4裸机开发篇除了讲M4裸机开发外,还会讲解通过M4控制资源扩展板上的各种传感器执行器模块(包括空气温湿度传感器、LED灯、数码管、蜂鸣器、震动马达、按键中断、风扇等),本篇是M4控制资源扩展板中的一篇。 资源扩展板是FS-MP1A开发板的扩展模块,主要包含了10余种助主流传感器、执行器件、总线控制器件,非常方便项目扩展用。可拓展开发智慧家庭、智能医疗、智能安防、工业控制、图像识别、环境检测等方向的10个左右综合项目,华清远见开发板也将配套提
[单片机]
stm32mp1 Cortex M4开发<font color='red'>篇</font>2:通过<font color='red'>GPIO</font>点亮LED灯详解
S3C2440-裸机-03 | GPIO的使用(点亮LED、按键检测)
实验1 —— 点亮一个LED 1.看原理图确定硬件如何连接 原理图中表示了芯片控制LED的硬件电路以及芯片的引脚与LED如何连接。 2. 看主芯片手册确定如何控制引脚 具体:如何让GPF4输出高低电平? 2.1.配置GPF4为输出模式(GPFCON) 设置GPFCON寄存器的第 位=0b01。 2.2.配置GPF4输出高/低电平(GPFDAT) GPFDAT的第4位为0-低电平,1-高电平。(注:corresponding,相应的) 3.汇编程序访问寄存器控制LED 3.1.编辑程序 @ brief: 点亮连接在GPF4的LED @ author: mculover666 @ date: 2
[单片机]
S3C2440-裸机<font color='red'>篇</font>-03 | <font color='red'>GPIO</font>的使用(点亮LED、按键检测)
ARM处理器学习之--GPIO操作
在上一篇文章中我们详细讲解了ARM开发环境的搭建,我们选择了X86-linux平台交叉编译ARM程序,交叉编译链选用arm-linux-系列。另外,我们还说明了一些开发需要的基础知识。关于以上这些内容,请参见 ARM芯片学习内容规划及ARM开发环境的搭建 。 我们学习高层应用程序开发的时候,一般第一个程序是经典的”hello world”程序。我们学习嵌入式的开发,主要是根据应用需求,选用合理的电子器件设计硬件电路,然后使用主控芯片控制外设。所以,我们GPIO操作篇的内容选为让电路板上的一个LED灯闪烁。 在讲解实验之前,我还是说明一下。这些基础实验,都是在特定硬件平台上运行的,且现象也是在特定电路板上才能产生的。所以实验中的程序
[单片机]
s3c2440硬件之一:GPIO
S3C2440共有130个I/O 端口,共分为GPA,GPB,...,GPJ.对于这几组GPIO引脚,他们的寄存器是相似的: GPxCON:用于配置(configure),选择引脚的功能。 GPxDAT:用于读/写数据。 GPxUP:确定是否使用内部上拉电阻。(没有GPAUP寄存器。) PORTB~PORTJ在寄存器操作方面完全相同。GPxCON中每两位控制一根引脚:00表示输入,01表示输出,10表示特殊功能,11保留不用。 一。使用汇编代码点亮一个LED。参照韦东山大哥的,上图是从韦大哥的书中截图的,而我的开发板对应的是GPF接口。仅此区别。 (1)led_on.S汇编代码。 @*******
[单片机]
s3c2440硬件<font color='red'>篇</font>之一:<font color='red'>GPIO</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved