
本帖最后由 北斗大苏苏 于 2015-5-27 09:51 编辑 接到了开发板,很高兴,之前总是做F103的板子,(shen qing de ban zi) 但是接触了F3,F407之后,发现,自己对STM32的系统学习,还是很不完善。 第一、器件库的下载,我提供F303RE 之前的103系列,自己的器件库,自己也发过类似的帖子,考虑了MDK的兼容性。 F3,F4,都是M4系列,记住还要加一个,ARM.CMSIS.4.1.1 说实话,这些配置以前都没管过。 一会我上一个连接,百度云的。链接:https://pan.baidu.com/s/1sjmKLBZ 密码:937x 等我把所有303的资料都弄好,再传。 云盘速度慢,来个官网连接:http://www.keil.com/dd2/st/stm32f303re/ 第二、下载标准固件库 官方提供了的Nucleo的评估板,或者是demo版,用着很不习惯,自己的建解,有的高级发烧友就是用的CubM3 我提供一个连接吧, 上一个连接:https://www.stmcu.org.cn/document/list/index/category-532 注意就是下载我标红的,我可是第二次才看到。 ä¸è½½ ![]() 我也是很笨,自己找到了网页,却不知道下载哪一个,后来还是问的自己的学生,自愧不如,老了,还要学习。 第三、建立标准的例程工程模板 自己的用的标准固件库的,里面提供了模板,但是自己感觉很乱,自己的一键,希望别拍砖。 对于这一个问题,我想zai发一个帖子,因为,很简单的事,到是,我看到了很多问题,希望啊自己帮助自己的学生,也 来分享一下。 四、开发吧 自己用的库函数的,但是,自己开发了很长时间的寄存器的,建议不要不理解寄存器,就只用函数堆叠, 一旦出了问题,还是要看看配置问题,这也是,我让大一的先学51,不让他们直接学32库函数的REASON, 一些大三的学生,直接把大一的带坏了。 以上的问题,都是自己没有系统开过开发手册 其实,手册里有介绍硬件结构的,也介绍了建立模板的手册,但是大家不看英文,我也无语了。 废话不说了。 我特别想说的的是,要理解固件库的关系,几层的关系。十分重要。我传了一个F4,其实一样和F3, å ³ç³»åº ![]() core_cm3.h这个就是 CMSIS 核心文件,提供进入 M4 内核接口,这是 ARM 公司提供,对所有 CM4 内核的芯片都一样。你永远都不需要修改这个文件. stm32f3xx.h 和 system_stm32f3xx.h 文件 system_stm32f3xx.h 是片上外设接入层系统头文件。主要是申明设置系统及总线时钟相关 的函数。这个里面有一个非常重要的 SystemInit()函数申明,这个函数在我们系统启动的时候都会调用,用 来设置系统的整个系统和总线时钟。 stm32f3xx.h 是 STM32F3 片上外设访问层头文件。 这个文件里面主要是系统寄存器定义申明以及包装内存操作,对于这 里是怎样申明以及怎样将内存操作封装起来的,同时该文件还包含了一些时钟相关的定义,FPU 和 MPU 单元开启定 义,中断相关定义等等。 stm32f3xx_it.c,stm32f3xx_it.h 以及 stm32f3xx_conf.h 等 文 件 stm32f3xx_it.c 和 stm32f3xx_it.h 里面是用来编写中断服务函数,中断服务函数也可以随意编写在工程 里面的任意一个文件里面,个人觉得这个文件没太大意义。 stm32f3xx_conf.h 是外设驱动配置文件。 文件打开可以看到一堆的#include,这里你建立工程 的时候,可以注释掉一些你不用的外设头文件。 |
M3(F1)进入主函数必须手动调用SystemInit();但是M4(F3,4)其实并不用,因为在启动文件进入main函数之前已经调用了这个函数,当然你在调用一次也没关系
太感谢了,我是不是很弱呀
这个应该和库函数版本有关吧,最新版本 在启动文件 里面都会自己调用 SYSTEM_INIT这个函数的
楼主是老师,学校还开这种课程啊?羡慕啊
申请的,过年申请的
以前申请的,实验室的学生又抢了一些,也到了,啊哈哈
不客气,我也是初级者