STM系统应用设计

2024-05-01 06:08
文章标签 设计 系统 应用 stm

本文主要是介绍STM系统应用设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

STM系统应用设计

  • 可视化的代码跟踪调试。
  • Proteus仿真运行stm32程序

可视化的代码跟踪调试。

上一次在终端使用gdb调试了程序,这次采用可视化的软件来调试

可视化前端 Kdbg。 参考网址

可视化前端 Insight。有点older,不推荐。参考网址

基于跨平台多类型代码编辑器VScode。 强烈推荐。
参考网址一.
参考网址二
参考网址三

示例代码:

#include <stdio.h>
void ShowRevertNum(int iNum)
{while(iNum>10){printf("%d",iNum % 10);iNum = iNum /10;}printf("%d\n",iNum);
}
int main(void)
{int iNum;printf("Please input a number:");scanf("%d",&iNum);printf("After revert:");ShowRevertNum(iNum);
}

这个程序是输出倒序数,编译没有问题,但是输入100的时候,输出为010,下面开始调试看看是哪里出现了问题

设置断点

在这里插入图片描述
F5调试并输入100:
在这里插入图片描述

进入了函数,继续F5调试:
在这里插入图片描述
连续F5了三次,这个循环已经循环了一次,应该输出了0
继续F5:
在这里插入图片描述
F5后发现,程序没有再次经过

       printf("%d",iNum % 10);iNum = iNum /10;

程序推出了循环,在看看上一次循环完成后,iNum已经除10取余了,iNum=10;现在iNum>10不成立,循环终止,并输出iNum;所以结果输出了010。
那么问题很明显了,循环判断语句iNum>10不适用,我们将它改为iNum>=10就好了。

Proteus仿真运行stm32程序

用Proteus建立一个新的工程
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击P输入LED-“你想要的颜色”

在这里插入图片描述
比如输入LED-YELLOW找到黄色的灯
在这里插入图片描述
输入RES找到一个负载
在这里插入图片描述

连接引线
在这里插入图片描述

这篇关于STM系统应用设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950886

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用