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

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI