本想着偷点懒的,没想到竞被加了“精”,没办法啦,只能勤快点啦。。。
硬件调通后,就要开始编程了。
编程的方法有两种,一种是用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文件夹中,这个文件夹中有4个.s文件, 我们选择其中的startup_stm32f10x_hd.s文件。这是根据项目所用CPU来选择的,我们用的CPU是103VC的,属于高密度的芯片,所以选这个。
至于LIB中的文件,就在这儿:\Source\STM32F10x_StdPeriph_Driver\src啦。这里有很多个文件,把什么文件加进去呢?怕麻烦的话,把所有文件全部加进去,这并不会增加编译后的代码量,但会增加很多的编译时间。
接下来设定目标输出文件夹。上面这个图怎么出来的就不说啦,单击“Select Foler for Objects...”,在弹出来的对话框中选择OBJ文件夹。
同样方法,选择List文件的输出文件夹。
设置好后,如果直接编译是不行的,会出错。还需要提供头文件所在位置。单击c/C++标签页.
第一次进入时Include Paths 文本框中是空白的,点击其后的按钮打开对话框,增加相应的路径
这样路径就设好了。单击OK,回到上一界面,然后再单击OK,退出设置,即可编译、链接。
下一会要试一试新的3.12版的库效果如何了。
文章评论(0条评论)
登录后参与讨论