有方机器人 STM32智能小车 项目学习笔记1

今天开始学习有方机器人--智能小车项目,正点原子部分的学习先放一放,还是小车更有吸引力哈哈。

新建工程及工程模板搭建

新建工程须知

目前常用的 STM32 的开发方式主要有基于寄存器编程、基于标准库函数编程、基于 HAL 库编程这三种。

寄存器版本---最高效,最直接,需要对STM32内部结构十分了解,难度系数大,新手学习不推荐。

标准库函数版本--直接使用 ST 官方提供的封装好的库函数进行编程,库函数把配置寄存器的过程封装成了函数,以便用户直观理解和调用,大大降低了 STM32 的开发难度,代码更直观,易于理解。

HAL库版本--可借助 ST 官方的图形化软件“STM32CubeMX”配置寄存器,直接生成代码,可以快速上手STM32,但隐藏了寄存器底层配置的逻辑过程,适合对STM32有一点熟悉的人使用,也可把当中的代码复制出来,配合正点原子的HAL库进行对比式学习。

STM32 工程模板示例

Hardware 文件夹:存放用户编写的硬件外设代码,如led.c、timer.c、spi.c等。
Library 文件夹:用于存放 ST 官方提供的标准库的库函数源码文件。
Objects 文件夹:是用来存放编译过程文件以及 hex 文件。

Start 文件夹:用于存放开发 STM32 的启动文件。

System 文件夹:此文件夹里面的代码由 ALIENTEK 提供,是 STM32F10x 系列的底层核心驱动函数,可以用在 STM32F10x 系列的各个型号上面,方便大家快速构建自己的工程。
User 文件夹:存放工程文件、主函数文件 main.c,以及其他包括system_stm32f10x.c 等。

之后可直接复制模板,在原有的基础上进行代码编写与添加!

好嘞,今天就写到这里,拜拜!


本人博客仅代表个人见解方便记录成长笔记。

若有不足,请指出,感谢您的阅读!

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

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

相关文章

提升Teams体验:SDWAN解决登录问题的有效方案

在国内,Microsoft Teams已经成为一种备受欢迎的团队协作工具。然而,有时用户在试图登录Teams时可能会遇到登录问题,这给办公效率带来了一些困扰。在国内办公环境中,可以借助云桥通SDWAN企业组网加速服务来解决Teams登录问题&#…

猫头虎分享已解决Bug || 脚本执行错误(Script Execution Failure):ScriptError, ExecutionFailure

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【 buuctf--ezmisc】

下载,解压后发现是一张图片 看到 png 图片首先就是 binwalk 看一下有什么隐藏信息,exiftool 看一下图片简介,stegsolve 看看存不存在隐写等,事实就是都看了一个变没发现有什么线索,然后放到 010editor 里面看一下 就会…

MySQL Replication

0 序言 MySQL Replication 是 MySQL 中的一个功能,允许从一个 MySQL 数据库服务器(称为主服务器或 master)复制数据和数据库结构到另一个服务器(称为从服务器或 slave)。这种复制是异步的,意味着从服务器不…

Window系统GPT-SoVITS配置安装

GPT-SoVITS配置安装 GPT-SoVITS配置Python下载以及安装源文件安装依赖 运行整理在安装配置环境时遇到的报错总结 GPT-SoVITS配置 作者链接 Python下载以及安装 版本这里根据教程的版本走即可,这里不会安装python或者不会配置环境的参考我之前的文章 Python 3.9,…

【C++初阶】deque容器的介绍以及为什么stack和queue选择deque的作为底层容器适配器

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

数据结构:跳表讲解

跳表 1.什么是跳表-skiplist1.1简介1.2设计思路 2.跳表的效率分析3.跳表实现3.1类成员设计3.2查找3.3插入3.4删除3.5完整代码 4.skiplist跟平衡搜索树和哈希表的对比 1.什么是跳表-skiplist 1.1简介 skiplist本质上也是一种查找结构,用于解决算法中的查找问题&…

UI设计20问(01):如何规避公说公有理婆说婆有理。

hello,我是大千UI工场,这次又开辟了一个新专题,回答UI设计中经常碰到问题,本期先回答UI设计评判标准的问题,欢迎关注评论点赞转发。 一、什么是公说公有理婆说婆有理 "公说公有理,婆说婆有理"是…

C++中自定义类型使用标准输入cin输出cout

自定义类型的输出 引言示例一运行结果示例二运行结果注意点 引言 当自己定义的数据为一些复杂数据&#xff0c;不再为基本数据类型&#xff0c;这时候要使用cout输出这些数据&#xff0c;就需要重载输出运算符<<,这样就可以使用cout来输出自定义的数据&#xff0c;相同如…

Python——元组

一、元组特性介绍 元组和列表⼀样&#xff0c;也是⼀种序列类型的数据。 唯⼀的不同是&#xff0c;元组是相对不可变的。 二、⾼效创建元组 In [1]: t1 () # 创建 空 元素的元组In [2]: type(t1) Out[2]: tuple有元素的元组实际上是使⽤英⽂的逗号创建的 In [3]:…

Vue3自定义全局指令批量注册

指令封装代码&#xff1a; import type { App } from "vue";const content {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };const operate {mounted(el : any, binding : any) {console.dir(binding.value);el.remove();} };cons…

认识TypeScript 中的接口和类

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 接口 类 江城开朗的豌豆 在 TypeScript 中&…