STM32入门学习笔记
本文为笔者入门学习过程的记录,只是零散的记录了一些个人不太懂得,觉得需要经常翻看的点
开发板:正点原子stm32F103-MINI
参考文档:【野火®】零死角玩转STM32—F103霸道_V2
【野火®】零死角玩转STM32—F103-MINI
STM32F103RCT6
STM32不完全手册_库函数版本_V3.1
1、ST不同类型的开发板
2、stm32 HAL库开发软件,之前接触的是keil,看了些资料觉得cube+HAL库会成为主流,所以也记下来
3、STM32命名,常用的型号字母最好要记住
4、芯片数据手册中关于引脚功能的描述,对于接下来外设开发中引脚的选择有用,也会影响到代码的写法
5、参考手册和数据手册的内容区别,有目的的查看不同手册,提高效率
6、keil 的TAB 键支持块操作,就是可以让一片代码整体右移固定的几位,也可通过 SHIFT+TAB 键整体左移固定的几个位。
& keil中查找替换的快捷键是“CTRL+H
7、CMSIS内核文件集体亮相
8、建立工程模板,详细的步骤可以去零死角玩转STM32—F103-MINI手册看,里面每一步都有图片加解释,跟着建一次模板加深自己对工程结构的了解,以后开发就直接复制来用
9、库的帮助文档,在使用库函数时,可通过查阅此文件来了解标准库提供了哪些外设、函数原型或库函数的调用的方法,或者直接阅读源码里面的函数的函数说明
10、使用库开发工程的过程中,要把位于 CMSIS 层的文件包含进工程( 除了特殊系统时钟需要改system_stm32f10x.c,其它文件丝毫不用修改,也不建议修改);开发主要针对用户层的几个文件,根据不同的应用对库文件进行增删(用条件编译#ifndef的方法增删)改动。
11、stm32f10x_conf.h文件中包含所有外设的头文件:stm32f10x_ppp.h,即用此头文件统一管理所有外设头文件,所以最终我们只需要包含stm32f10x.h 就行,并且可以把不要用的外设头文件包含都注释掉,只留下需要使用的,以加快编译速度,尤其工程比较大的时候
12、keil中新加硬件对应的.c/.h文件:
在hardware文件夹中新建对应的.c/.h文件 **——>**右键target,manage target,在对应模块下include .c文件(hardware) **——>**点击魔术棒,选择c/c++,在include path中加入对应的.h文件
13、8种GPIOMode
写在最后:看了野火和正点原子的****和开发手册,觉得火哥的更适合初学者,跟着一步一步来,对于我们的编程习惯的养成也有很好的帮助,而且野火的资料真的很多,都是开源的
附上野火论坛的链接:野火论坛