STM32快速搭建项目框架

注:编写本博客的原因,学习期间基于复习之前知识点的需要,故撰写本教程,即是复习前面的知识点也是作为博客的补充


1.0 文件夹的创建

 创建一个STM32项目为模版工程,问价夹下分别包含4个子文件夹,一个是Library文件夹用于存放STM32的标准库文件,一个是User文件夹用于春存放用户编写的应用层文件,一个是Start启动文件夹用于存放STM32的启动函数文件,一个是Drive文件夹,用于面向对象编程的驱动层文件。

 文件创建成功后的截图如下所示:


2.0 准备STM32的标准库函数文件

以上是我事先准备好的STM32标准库文件内容较多,把对应文件夹里面的依赖文件一次粘贴复制到自己创建的文件夹当中。


 3.0 在keil中创建对应文件夹,并且将驱动文件引入进去

点击魔术棒按钮c++选项卡当中把文件夹的路径引入进去,同时在C\C++设置一栏中输入USE_STDPERIPH_DRIVER使宏生效。

同时对创建的项目做一些修改配置避免可能出现的错误

可能遇到的问题:附加解决方案

(已解决)STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o)._undefined symbol assert param-CSDN博客文章浏览阅读10w+次,点赞112次,收藏158次。今天在学习搭建固件库时遇到了一个问题,32在编译的时候会报Error: L6218E: Undefined symbol assert_param (referred from misc.o).的错误,上网查了一下发现没有很全面的解答,整理资料后总结一下跟大家分享。一、报错图片图片大致内容是没有定义assert_param,所以解决问题思路就是在库文件中寻找assert_param二、解决办法解决方法1:根据报错内容(referred from misc.o)可以看出问题出在misc.c文件中._undefined symbol assert paramhttps://blog.csdn.net/weixin_52167116/article/details/123219610解决:error cannot open file ‘x:\xxx\xxx‘:在多字节的目标代码页中,没有此unicode字符可以映射._error:cannot open file-CSDN博客文章浏览阅读2.6k次,点赞5次,收藏9次。在keil中,编译出现问题,如下:解决办法:①打开keil页面中魔术棒②打开之后在选项卡找到Target下面的Code Generation下面的ARM Compiler选择Use default compiler verson 5 成功解决:..._error:cannot open filehttps://blog.csdn.net/nuanYangC/article/details/119638642

4.0 创建STM32项目

5.0 编译运行

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

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

相关文章

嘉立创EDA学习笔记

嘉立创EDA学习笔记 PCB引线一、设计规则间距安全间距其他间距 物理导线网络长度差分对过孔尺寸 平面铺铜 PCB布线 作为一个嵌入式开发潜力工程师,咱们必须得学会如何绘制开发板以满足顾客各种功能的需求,因此小编去学习了一下嘉立创,写这篇文…

VSCode用ssh连接ubuntu虚拟机实现远程访问文件夹

1. ubuntu安装ssh服务 1.1 安装 sudo apt-get install ssh sudo apt-get install openssh-server1.2 启动ssh服务 sudo service ssh start sudo service ssh status # 查看状态 ## 或者用下面方式重启ssh服务 ## /etc/init.d/ssh restart1.3 ssh服务加入开机启动 sudo syst…

HTML语言常见标签

语法 HEAD部分的HTML标签 1 标题标签 <title>标题内容</title> 2 段落标签 <meta charset"utf-8"/> BODY部分的HTML标签 1标题标签&#xff08;独占一行&#xff09;<h1>标题内容</h1> 2段落标签&#xff08;独占一行&#xff09;…

TK 检查输入框是否为空

在Python的Tkinter库中&#xff0c;你可以使用事件绑定或者在按钮点击事件中检查输入框的值是否为空来实现这个功能。以下是一个简单的例子&#xff1a; import tkinter as tk from tkinter import messageboxdef check_input():entry input_box.get()if not entry:messagebo…

TLP152 光耦合器:工程师的可靠选择

东芝的 TLP152 光耦合器是一款稳健且多功能的组件&#xff0c;能够满足各种高速和高可靠性应用中的工程师需求。本文将深入探讨 TLP152 的技术特性、优点和应用&#xff0c;突出其在市场中的独特性。 主要特点和规格 TLP152 光耦合器集成了一颗铝镓砷&#xff08;GaAlAs&…

昇思14天

ResNet50图像分类 1. ResNet50图像分类概述 ResNet50是一种用于图像分类的深度卷积神经网络。图像分类是计算机视觉的基本应用&#xff0c;属于有监督学习范畴。ResNet50通过引入残差结构&#xff0c;解决了深层网络中的退化问题&#xff0c;使得可以训练非常深的网络。 2. …

了解Adam和RMSprop优化算法

优化算法是机器学习和深度学习模型训练中至关重要的部分。本文将详细介绍Adam&#xff08;Adaptive Moment Estimation&#xff09;和RMSprop&#xff08;Root Mean Square Propagation&#xff09;这两种常用的优化算法&#xff0c;包括它们的原理、公式和具体代码示例。 RMS…

配置路由器支持Telnet操作 计网实验

实验要求&#xff1a; 假设某学校的网络管理员第一次在设备机房对路由器进行了初次配置后&#xff0c;他希望以后在办公室或出差时也可以对设备进行远程管理&#xff0c;现要在路由器上做适当配置&#xff0c;使他可以实现这一愿望。 本实验以一台R2624路由器为例&#xff0c;…

OpenCV MEI相机模型(全向模型)

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 对于针孔相机模型,由于硬件上的限制(如进光量等),他的视野夹角往往有效区域只有140度左右,因此就有研究人员为每个针孔相机前面再添加一个镜片,如下所示: 通过折射的方式增加了相机成像的视野,虽然仍然达不…

东方通Tongweb发布vue前端

一、前端包中添加文件 1、解压vue打包文件 以dist.zip为例&#xff0c;解压之后得到dist文件夹&#xff0c;进入dist文件夹&#xff0c;新建WEB-INF文件夹&#xff0c;进入WEB-INF文件夹&#xff0c;新建web.xml文件&#xff0c; 打开web.xml文件&#xff0c;输入以下内容 …

理解局域网技术:从基础到进阶

局域网&#xff08;LAN&#xff09;是在20世纪70年代末发展起来的&#xff0c;起初主要用于连接单位内部的计算机&#xff0c;使它们能够方便地共享各种硬件、软件和数据资源。局域网的主要特点是网络为一个单位所拥有&#xff0c;地理范围和站点数目均有限。 局域网技术在计算…

RequestContextHolder多线程获取不到request对象

RequestContextHolder多线程获取不到request对象&#xff0c;调用feign接口时&#xff0c;在Feign中的RequestInterceptor也获取不到HttpServletRequest问题解决方案。 1.RequestContextHolder多线程获取不到request对象 异常信息&#xff0c;报错如下&#xff1a; 2024-07-0…

(四)前端javascript中的数据结构之归并排序

归并排序是一种分治算法&#xff0c; 其思想是&#xff1a; 将原始数组切分成较小的数组&#xff0c;直到每个小数组只有一 个位置&#xff0c;接着将小数组归并成较大的数组&#xff0c;直到最后只有一个排序完毕的大数组 归并排序是第一个可以被实际使用的排序算法。它比前面…

SpringBoot实现简单AI问答(百度千帆)

第一步&#xff1a;注册并登录百度智能云&#xff0c;创建应用并获取自己的APIKey与SecretKey&#xff0c;参考网址&#xff1a; 点击去百度智能云 第二步&#xff1a;引入千帆的pom依赖 <dependency><groupId>com.baidubce</groupId><artifactId>q…

Jenkins 构建 Web 项目:构建服务器和部署服务器分离, 并且前后端在一起的项目

构建命令 #!/bin/bash cd ruoyi-ui node -v pnpm -v pnpm install pnpm build:prod # 将dist打包成dist.zip zip -r dist.zip dist cp dist.zip ../dist.zip

【Linux】动态库的制作与使用

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Linux——多线程(四)

前言 这是之前基于阻塞队列的生产消费模型中Enqueue的代码 void Enqueue(const T &in) // 生产者用的接口{pthread_mutex_lock(&_mutex);while(IsFull())//判断队列是否已经满了{pthread_cond_wait(&_product_cond, &_mutex); //满的时候就在此情况下等待// 1.…

C++中的模板(一)

首先&#xff0c;我们做一个简单的假设&#xff1a;假如现在你有穿越回古代的机会&#xff0c;然而你在古代的身份是曹植的管家&#xff0c;这天曹植写了一首《洛神赋》&#xff0c;他命令你把这首诗广泛的传播出去&#xff0c;那么在当时的技术条件下&#xff0c;你只能先制作…

自定义刷题工具-python实现

背景&#xff1a; 最近想要刷题&#xff0c;虽然目前有很多成熟的软件&#xff0c;网站。但是能够支持自定义的导入题库的非常少&#xff0c;或者是要么让你开会员&#xff0c;而直接百度题库的话&#xff0c;正确答案就摆在你一眼能看见的地方&#xff0c;看的时候总觉得自己…

Gymnasium 借游戏来学习人工智能

既然有了免费的linux系统GPU&#xff0c;干脆演示一下使用drivecolab套件来训练模型。 !apt-get install -y build-essential swig !pip install box2d-py !pip install gymnasium[all] !pip install gymnasium[atari] gymnasium[accept-rom-license] !pip install stable_bas…