1 / 15
文档名称:

STM32编程.doc

格式:doc   大小:416KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32编程.doc

上传人:xgs758698 2016/8/4 文件大小:416 KB

下载得到文件列表

STM32编程.doc

文档介绍

文档介绍:一、条件的准备我的****惯,第一步是先搭建一个学****的平台。原来学 51, PIC , AVR 时,都是想方设法自己做些工具,实验板之类,现在人懒了,直接购买成品了。硬件电路板:火牛板软件:有 keil 和 iar 可供选择。网上的口水仗不少, 我选 keil , 理由很简单, 这个我熟。目前要学的知识中,软、硬件我都不熟, 所以找一个我有点熟的东西就很重要。在我相当熟练之前,肯定不会用到 IAR ,如果真的有一天不得不用 IAR ,相信学起来也很容易,因为这个时候硬件部分我肯定很熟了,再加上有 keil 的基础,所以应该很容易学会了。调试工具: JLINK V8 。这个不多说了,价格便宜又好用,就是它了。二、热身细细端详,做工精良,尤其那上面的 吋屏,越看越喜欢。接下来就是一阵折腾了, 装 JLINK 软件, 给板子通电, 先试试 JLINK 能不能与电脑和板子通信上了。真顺, 一点问题也没有。于是准备将附带的程序一个一个地写进去试一试。一检查, 大部分例子的 HEX 文件并没有给出, 这要下一步自己生成, 但是几个大工程的例子都有 HEX 文件,如 MP3 ,如 UCCG I 测试等, 写完以后观察程序运行的效果。因为之前也做过彩屏的东西, 知道那玩艺代码量很大,要流畅地显示并不容,当时是用 AVR 做的,在 吋屏上显示一幅画要有一段时间。现在看起来,用 STM32 做的驱动显示出来的画面还是很快的, 不过这里显示的大部分是自画图, 并没有完整地显示一整幅的照片, 所以到底快到什么程度还不好说, 看来不久以后这可以作为一个学****点的。一个晚上过去了,下一篇就是要开始 keil 软件的学****了。三、开始编程硬件调通后,就要开始编程了。编程的方法有两种,一种是用 st 提供的库,另一种是从最底层开始编程,网上关于使用哪种方法编程的讨论很多, 据说用库的效率要低一些。但是用库编程非常方便, 所以我还是从库开始啦。库是 ST 提供的, 怎么说也不会差到哪里, 再说了,用 32位 ARM 的话, 开发的观念也要随之改变一点了。说说我怎么学的吧。找个例子,如 GPIO ,可以看到其结构如下: SOURCE (文件夹) - APP (文件夹) -CMSIS (文件夹) -STM32F10x_StdPeriph_Driver (文件夹) Lis (文件夹) OBJ (文件夹) 其中 SOURCE 中保存的是应用程序,其中又有好多子文件夹,而 CMSIS 文件夹中和 STM32F10x_StdPeriph_Driver 文件夹中是 ST 提供的库, 这样, 如果要做新的工程只要将这个文件夹整个复制过来就行,其中 APP 中保存自己的代码。因为我们用 51 单片机时一般比较简单,有时就一个文件,所以通常不设置专门的输出文件夹, 而这里做开发, 通常会有很多个文件加入一个工程中, 编译过程中会产生很多中间文件,因此设置专门的文件夹 LIS 和 OBJ 用来保存中间文件。下面就将设置简单描述一下。将复到过来的 GPIO 根目录下的所有文件删除,因为我们要学着自己建立工程。用菜单 Project-- 》 New uVision Porject. 。. 建立新的工程,选择目标器件为 STM32103VC ,这个过程与建立 51 单片机的工程没有什么区别,这里就偷点懒,不上图了。接下来看一看怎么设置。点那个品字形,打开对话框这里就给个图了, 相信有一定操作基础的人应该会用。顺便提一下, 原来用 VC 或者 IAR 时总觉得它们的一个功能: 就是建立一个是 Debug 组和 Release 组, 这个功能挺好的, 从这个图可在 Keil 里也是一样可以建的。将刚才那个文件夹图中 CMSIS 中的文件加入 CMSIS 组,一共 3 个,其中\Source\CMSIS\Core\CM3 有两个 C 语言源程序文件全部加入,另外还有一个在\Source\CMSIS\Core\CM3\startup\arm 文件夹中, 这个文件夹中有 文件, 我们选择其中的 文件。这是根据项目所用 CPU 来选择的, 我们用的 CPU 是 103VC 的,属于高密度的芯片,所以选这个。至于 LIB 中的文件,就在这儿: \Source\STM32F10x_StdPeriph_Driver\src 啦。这里有很多个文件, 把什么文件加进去呢?怕麻烦的话, 把所有文件全部加进去, 这并不会增加编译后的代码量,但会增加很多的编译时间。接下来设定目标输出文件夹。上面这个图怎么出来的就不说啦, 单击“ Select Foler for Objects 。”,在弹出来的对话框中选择 OBJ 文件夹。同样方法,选择 List 文件