STM32 学习笔记
从51 开始,单片机玩了很长时间了,有51,PIC,AVR 等等,早就想跟潮
流玩玩ARM ,但一直没有开始,原因不知道玩了ARM 可以做什么(对我自
己而言)。如果为学习而学习,肯定学不好。然后cortex-m3 出来了,据说,这
东西可以替代单片机,于是马上开始关注。也在第一时间开始学习,可惜一开始
就有点站错了队,选错了型(仍是对我自己而言)。我希望这种芯片应该是满大
街都是,随便哪里都可以买得到,但我选的第一种显然做不到。为此,大概浪费
了一年多时间吧,现在,回到对我来说是正确的道路上来啦,边学边写点东西。
这里写的是我的学习的过程,显然,很多时候会是不全面的,不系统的,感
悟式的,甚至有时会是错误的,有些做法会是不专业的。那么,为什么我还要写
呢?这是一个有趣的问题,它甚至涉及到博客为什么要存在的问题。显然,博客
里面的写的东西,其正确性、权威性大多没法和书比,可为什么博客会存在呢?
理由很多,我非专家,只说我的感慨。
我们读武侠小说,总会有一些创出独门功夫的宗师,功夫极高,然后他的弟
子则基本上无法超越他。我在想,这位宗师在创造他自己的独门功夫时,必然会
有很多的次的曲折、弯路、甚至失败,会浪费他的很多时间,而他教给弟子时,
则已去掉了这些曲折和弯路,当然更不会把失败教给弟子,按理说,效率应该更
高,可是没用,弟子大都不如师。为什么呢?也许知识本身并不是最重要的,获
取知识的过程才是最重要的?也许所谓的知识,并不仅仅是一条条的结论,而是
附带着很多说不清道不明的东西?如植物的根,一条主根上必带有大量的小小的
触须?
闲话多了些,就权当前言了。下面准备开始。
一、条件的准备
我的习惯,第一步是先搭建一个学习的平台。原来学51,PIC,AVR 时,都
是想方设法自己做些工具,实验板之类,现在人懒了,直接购买成品了。
硬件电路板:火牛板
软件:有keil 和iar 可供选择。网上的口水仗不少,我选keil,理由很简单,
这个我熟。目前要学的知识中,软、硬件我都不熟,所以找一个我有点熟的东西
就很重要。在我相当熟练之前,肯定不会用到IAR,如果真的有一天不得不用I
AR ,相信学起来也很容易,因为这个时候硬件部分我肯定很熟了,再加上有ke
il 的基础,所以应该很容易学会了。
调试工具:JLINK V8 。这个不多说了,价格便宜又好用,就是它了。
二、热身
网上选购的,付了款就是等了。拿到包裹,端详良久,起身。。。。沐浴,
更衣,焚香,,,
,
,
总得先吃晚饭,洗澡,再点个电蚊香什么的吧。
,拆包
细细端详,做工精良,尤其那上面的3.2 吋屏,越看越喜欢。接下来就是一阵折
腾了,装JLINK 软件,给板子通电,先试试JLINK 能不能与电脑和板子通信上
了。真顺,一点问题也没有。于是准备将附带的程序一个一个地写进去试一试。
一检查,大部分例子的HEX 文件并没有给出,这要下一步自己生成,但是几个
大工程的例子都有HEX 文件,如MP3,如UCCGI 测试等,写完以后观察程序
运行的效果。因为之前也做过彩屏的东西,知道那玩艺代码量很大,要流畅地显
示并不容,当时是用AVR 做的,在1.8 吋屏上显示一幅画要有一段时间。现在
看起来,用STM32 做的驱动显示出来的画面还是很快的,不过这里显示的大部
分是自画图,并没有完整地显示一整幅的照片,所以到底快到什么程度还不好说,
看来不久以后这可以作为一个学习点的。
一个晚上过去了,下一篇就是要开始keil 软件的学习了。
STM32 学习笔记(2 )
本想着偷点懒的,没想到竞被加了“精”,没办法啦,只能勤快点啦。。。
硬件调通后,就要开始编程了。
编程的方法有两种,一种是用st 提供的库,另一种是从最底层开始编程,网上
关于使用哪种方法编程的讨论很多,据说用库的效率要低一些。但是用库编程非
常方便,所以我还是从库开始啦。库是ST 提供的,怎么说也不会差到哪里,再
说了,用32 位ARM 的话,开发的观念也要随之改变一点了。
说说我怎么学的吧。
找个例子,如GPIO,可以看到其结构如下:
SOURCE (文件夹)
- APP(文件夹)
-CMSIS (文件夹)
-STM32F10x_StdPeriph_Driver (文件夹)
Lis (文件夹)
OBJ (文件夹)
其中SOURCE 中保存的是应用程序,其中又有好多子文件夹,而CMSIS 文件
夹中和STM32F10x_StdPeriph_Driv
更多推荐
stm32单片机c语言入门 pdf,STM32学习笔记(初学者快速入门).pdf
发布评论