keil5进行stm32编程时常遇到的问题和ST-LINK在线仿真的连接问题

news2024/9/20 15:44:46

本文记录原因

最近一直在尝试usb的自定义键盘、无刷电机和pcb的一些东西,很久没使用stm32编写程序了。在浏览购物网站的时候发现很多便宜的小系统板。

使用小的系统板原因

1,在网上看到板子很便宜,以前很少看见,但现在网上对这方面开发的人员很多,也使得价格压下来了。
2,虽然没有很多的外设,但相比于已经固化的开发板来说,不需要考虑外设的干涉跳线,这样做并不需要大容量的开发来说还是很方便的。
3,以前用的时STM32F103ZET6的板子,那个外设太多,每次连接和拆线需要考虑太多跳线帽的插拔。

通过实例分析使用在线仿真的原因

1,当读取ADC数据时,若不使用在线仿真,则为了查看数据就需要使用串口和显示屏等,但这就需要添加串口程序或显示驱动程序。
2,想要查看某些数据变化,但程序想要停止,就需要修改程序到自己想要停止的地方,每次都需要重新下载程序。
3,下载程序过程中的多次插拔下载引脚也是很苦恼的事(arduino不用),可以使用IAP,自己写个能触发进入下载的程序,但那样不免增加程序复杂度。
4,上面遇到的几种情况,使用在线模拟仿真可以很好的解决:通过查看变量的参数知道ADC的值大小;通过单步调试/断点调试可以知道那个数据变化并在这个地方停止;下载过程中不需要插拔下载引脚,因为这里下载指定了flash的地址

keil5进行编程中遇到问题

一个需要注意的问题,需要使用电脑直连的usb,因为usbhub的连接可能会导致ST-Link连接不成功

编译时遇到“…\SYSTEM\sys\stm32f10x.h(244): error: #67: expected a “}””

参考、
选择正确的芯片后,这里的预处理的定义可以删除了。
在这里插入图片描述

仿真器在线仿真的认知

仿真器使用和理解视频
在这里插入图片描述

使用st-link仿真的基本操作可以参考下面两个

参考1,参考2

在使用仿真器下载程序时遇到问题“Error: Flash Download failed - Cortex-”

参考
这种下载不成功的原因一般分三种
1,设置下载接口的方式不同,
2,硬件连接的不正确,
3,芯片的flash地址和下载的地址不正确

1和2的错误可以参考上面两个参考连接。3,问题参考

总体来说,嵌入式相关的内容都是软硬件相关联,因此也会遇到各种各样奇葩问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据新视界 --大数据大厂之数据科学项目实战:从问题定义到结果呈现的完整流程

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

uniapp 知识总结

1. uniapp 知识总结 uni-app是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Harmony、Web(响应式)以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、…

【webpack4系列】设计可维护的webpack4.x+vue构建配置(终极篇)

文章目录 构建配置包设计通过多个配置文件管理不同环境的 webpack 配置抽离成一个 npm 包统一管理(省略)通过 webpack-merge 组合配置 功能模块设计目录结构设计构建配置插件安装webpack、webpack-cli关联HTML插件html-webpack-plugin解析ES6解析vue、JS…

笔记本安装Linux系统向日葵远程控制

1、制作启动U盘 Ubuntu: Create a bootable USB stick with Rufus on Windows 2、安装 1、重启笔记本,出现logo后,按 f2(注:联想拯救者。其他型号参考官方文档)。按左右方向键切换到 Boot。选择 Boot Mo…

【软件测试】--xswitch将请求代理到测试桩

背景 在做软件测试的过程中,经常会遇见需要后端返回特定的响应数据,这个时候就需要用到测试桩,进行mock测试。 测试工程师在本地模拟后端返回数据时,需要将前端请求数据代理到本地,本文介绍xswitch插件代理请求到flas…

Float类型的有效位数有几位

大家好,今天我们来聊一聊C语言中的Float类型。 正如标题所说,你知道Float类型的有效位数有几位吗? 或者你知道为什么Float类型可以表示数字16777218但是却无法表示16777217吗? 如果你不是很确定那我们就一起来看看吧&#xff0…

AcWing算法基础课-789数的范围-Java题解

大家好,我是何未来,本篇文章给大家讲解《AcWing算法基础课》789 题——数的范围。本文详细解析了一个基于二分查找的算法题,题目要求在有序数组中查找特定元素的首次和最后一次出现的位置。通过使用两个二分查找函数,程序能够高效…

数据结构(Day13)

一、学习内容 内存空间划分 1、一个进程启动后,计算机会给该进程分配4G的虚拟内存 2、其中0G-3G是用户空间【程序员写代码操作部分】【应用层】 3、3G-4G是内核空间【与底层驱动有关】 4、所有进程共享3G-4G的内核空间,每个进程独立拥有0G-3G的用户空间 …

【C++】深入理解作用域和命名空间:从基础到进阶详解

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:C_小米里的大麦的博客-CSDN博客 🎁代码托管:C: 探索C编程精髓,打造高效代码仓库 (gitee.com) ⚙️操作环境:Visual Studio 2022 目录 一、前言 二、域的概念 1. 类域 2. 命名空间…

Redis——常用数据类型string

目录 常用数据结构(类型)Redis单线程模型Reids为啥效率这么高?速度这么快?(参照于其他数据库) stringsetgetMSET 和 MGETSETNX,SETEX,PSETEXincr,incrby,decr…

sshj使用代理连接服务器

之前我是用jsch连接服务器的,但是没办法使用私钥连接,搜了一下似乎是不支持新版的SSH-rsa,并且jsch很久没更新了,java - "com.jcraft.jsch.JSchException: Auth fail" with working passwords - Stack Overflow 没办法…

mybatis的基本使用与配置

注释很详细,直接上代码 项目结构 源码 UserMapper package com.amoorzheyu.mapper;import com.amoorzheyu.pojo.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;import java.util.List;Mapper //在运行时生成代…

从数据仓库到数据中台再到数据飞轮:金融行业的数据技术进化史

前言​ 大家好,我是一名大数据开发工程师,在金融行业深耕多年,其实数据技术的演进不仅是技术层面的革新,更是业务模式与决策方式的深刻变革。从最开始的数据仓库兴起,到数据中台的普及,再到数据飞轮的出现…

MFEA/D-DRA--基于分解和动态资源分配的多目标多任务优化

MFEA/D-DRA–基于分解和动态资源分配的多目标多任务优化 title: A Multiobjective multifactorial optimization algorithm based on decomposition and dynamic resource allocation strategy author: Shuangshuang Yao, Zhiming Dong, Xianpeng Wang…

跨界融合,GIS如何赋能游戏商业——以《黑神话:悟空》为例

在数字化时代,地理信息系统(GIS)技术正以其独特的空间分析和可视化能力,为游戏产业带来革命性的变革。《黑神话:悟空》作为中国首款3A级别的动作角色扮演游戏,不仅在游戏设计和技术上取得了突破&#xff0c…

金融行业中如何利用数据中台的数据来有效的驱动业务决策呢?

前言​ 在金融行业中,利用数据中台的数据来有效驱动业务决策是一个复杂而关键的过程。其实我们的核心就是帮助金融机构最大化数据中台的价值,并推动业务决策的科学性和准确性。本文我从技术的角度来剖析一下这一过程。​ 什么是数据中台?​…

Git常用指令大全详解

Git常用指令大全详解 Git,作为目前最流行的分布式版本控制系统,其强大的功能和灵活性为开发者提供了极大的便利。无论是个人项目还是团队协作,Git都扮演着不可或缺的角色。本文将详细总结Git的常用指令,帮助大家更好地掌握这一工…

PHP:强大的Web开发语言

PHP:强大的Web开发语言 一、PHP 简介及优势 PHP 的基本概念 PHP(PHP: Hypertext Preprocessor)即 “超文本预处理器”,是一种通用开源脚本语言,最初由 Rasmus Lerdorf 于 1994 年创建。它可以在服务器上执行&#xf…

题目:单调栈

1、关于栈的概述 栈是一种数据结构,遵循“后进先出”(LIFO, Last In, First Out)的原则。这意味着最后被插入栈中的元素会最先被移除。可以把它想象成一个垒盘子的情况,新的盘子总是放在最上面,而最上面的盘子会最先被…

Matlab:科学计算与工程应用的强大利器

Matlab:强大的科学计算工具 一、Matlab 简介与重要性 Matlab 作为一款强大的科学计算软件,在工程、科学、数学等多个领域都有着广泛的应用及至关重要的地位。 在工程计算领域,它涵盖了众多方面。例如,线性代数与矩阵运算中&…