有方机器人 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 等。

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

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


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

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

相关推荐
杨德兴9 分钟前
3.3 阶数的作用
人工智能·学习
chilling heart14 分钟前
API的学习总结(上)
学习
charlie1145141911 小时前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理
threelab1 小时前
03.three官方示例+编辑器+AI快速学习webgl_animation_multiple
人工智能·学习·编辑器
threelab1 小时前
18.three官方示例+编辑器+AI快速学习webgl_buffergeometry_points_interleaved
学习·编辑器·webgl
电子云与长程纠缠2 小时前
UE5中制作动态数字Decal
学习·ue5·编辑器·贴图
愚润求学2 小时前
【递归、搜索与回溯】专题一:递归(二)
c++·笔记·算法·leetcode
h汉堡2 小时前
C/C++内存管理
java·c语言·开发语言·c++·学习
水水沝淼㵘2 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
愚润求学2 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记