原创 【连载】【ALIENTEK MiniSTM32 开发板】STM32不完全手册--前言

2010-7-9 14:24 4747 9 15 分类: MCU/ 嵌入式

点击看大图


STM32是基于ARM Cortex-M3内核的32位处理器,具有杰出的功耗控制以及众多的外设,最重要的是其性价比。而且STM32官方在国内的宣传也是做得非常不错,而且针对8位机市场推出了STM8<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


本人在08年初开始接触STM32,之前也用过51,用过AVR ,对这几款芯片还是比较了解,下面就来看看我们为什么要选择STM32


AVR是很成功的一款芯片,功耗低,性能强。较之前的51,性能提升了好几个档次。如果一个初学者,学完了51,再学AVR,肯定就会对AVR爱不释手。我也是这么过来的,AVR对当时的我来说可谓是要啥有啥。所以从大二开始,一直用到毕业。PIC据说也不错,但是很遗憾,我们学校,没看到几个搞PIC的,大概是因为这个东西价格太高了,对我们学生来说,基本上不考虑。当然,有钱人例外。


其次,AVR的下载也是很方便的。和51的可以通用。这其中双龙电子对avr的支持,至少在国内来说,爱特梅尔是要感谢他们的。至于STM8,我没有详细了解,我估计他存在的目的,就是要把8位市场给占领了。他最大的对手,估计就是AVR51了。目前AVR的局势,岌岌可危,像目前这个情况,持续下去,很快就可以退出历史舞台了。


STM8目前最低端的是STM8S<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />103F2 最少引脚数是20脚的,淘宝最低售价是3.5元,AVR同样配置(仅仅指SRAMFLASH)的芯片,价格在3块左右。基本不分上下。其他功能方面也很相似。STM8最高端的,STM8S208MB,淘宝价格在15元左右,而同样配置的avr芯片只有MEGA128了,还少了2kramCAN控制器,不过多了总线控制器。但是MEGA128的价格,在30块钱左右,这就毫无竞争力了。这样的价格,STM32F103都能买到很好的芯片了。15块钱左右,基本只够买个MEGE32,而mega32STM8S208MB相比,显然差距很明显。以目前的局势(AVR价格居高不下),我建议,没学AVR的就可以跳过了,学过的,就赶紧选择新的MCU。不过STM8的下载,好像不如AVR那么方便,这方面,我没有了解过,这里就不评论了。


高端市场,ST最近几年,对STM32的推广,可谓是不遗余力。效果也是很显著的。我是阴错阳差,在08年开始学STM32,而且STM32的价格,现在也很便宜,当时,STM32F103RBT6也就30块钱,外设功能是很强悍了:128K FLASH20K SRAMUSBCAN12ADCSPIIICTIMERUSARTRTCDMA等,基本上,你能想到的,它都有了。显然,此时的MEGA128已经毫无竞争力了。现在STM32低配置的芯片,STM32F101C416K FLASH4K SRAM,价格在10块钱左右。F103较低配置的STM32F103C8,也卖到了13块钱一个,64K FLASH20K SRAM,带USBCAN。单从这2个数据,就能说明很多问题了。


再说LM3S,应该是和STM32一同推上市场的,至少不会比STM32晚,据说当时敢尝CM3螃蟹的就流名和ST。周立功还选择了推流明,后面也不知道什么原因,一直没见流明起来,可能周立功和流明,都有错吧(脑子被驴踢了可能)。却见STM32是打得红红火火。如今流明(TI收购了)已经没办法和STM32竞争了。估计老周也很郁闷吧,当时怎么就没推STM32?呵呵。


 继续说STM32STM32现在推出的型号,从最低的10块钱的,到最高端的STM32F103ZET6,价格也不过40元不到。其中包括的型号,有50种之多。用户可以随便选择满足自己需求的产品。高端方面,STM32还推了F105/F107系列。强化了USB和网络的功能。这方面AVR32,从淘宝上看到的最低价格是30元左右,具体配置没去看了。AVR32STM32最大的缺点就是下载程序不方便,人家得专门为你做个下载器,或者从你那里买,OURAVR论坛上也有人搞了下载器出来,还真佩服这些哥们,挺厉害的。


不过STM32呢?支持JTAG,支持串口下载。 这就把学习STM32的门槛一下降低了,加上KEILSTM32的支持,比学习AVR的门槛还低了。这就很快的培养了大批使用者。其次,STM32的中文支持,做的也很到位,中文的《参考手册》,中文的《CM3权威指南》,给用户提供了很大的便利。反观其他,LPC和爱特梅尔由于之前不敢吃螃蟹,到现在他们的CM3构架芯片,都还在襁褓之中,LM3S虽然和ST一起吃了螃蟹,不过没搞好,算是玩完了。所以,现在就剩下ST独领风骚了。


总结下来,STM32具有价格低、功能强、使用简单、开发方便等几个很有利的优势,所以对有志于32位市场应用开发的人,都应该学学。


在应用上,我认为STM32设计的比较方便的地方有:


1)  复用IO口重映射功能。


由于有些复用功能可以重映射,使得在STM32PCB设计的时候,方便很多。


2)  全部引脚都可以作为中断输入。


全部IO口都可以作为中断输入,这点比很多ARM好,当要使用中断的时候,随便那个IO口都可以,而不需要接到特定的几个脚上,这样极大的方便了设计,不论原理图设计还是PCB设计。


3)  SWD调试支持。


STM32支持SWD调试,只需要2IO线,就可以用来调试和下载代码,对引脚不多的型号尤其适用。


4)  串口下载程序。


串口下载代码很多ARM都具有这个功能,STM32也保留了这一优秀设计,极大的降低了开发成本(不需要什么JLINKULINK之类的了,也不需要专门的下载器)。


本手册正是根据STM32的特点,结合实例逐一介绍其功能,取名为《STM32不完全手册》有如下几个原因:


1,              本手册虽然逐一介绍了STM32的各个功能,但一些我不熟悉的介绍的比较简单,比如USB部分。


2,              对我不了解,没用过的CAN口,本手册并未提及。、


3,              本手册针对的是STM32F103RBT6的外设,对STM32其他系列的产品并不能完全兼顾,比如ZE系列有的DACFSMC部分,本手册并没有介绍。


鉴于以上三点,所以本手册取了这个名字。希望在以后的学习中,能不断丰富该手册,最终能给STM32学习者一点参考。本手册参考最多的是《STM32参考手册》以及《CM3权威指南》,很多地方摘自这两个文档,另外有很多资料及代码也都参考了网友的,有了他们的奉献及开源,才有了《STM32不完全手册》。


后面,该手册可能会不定期更新和勘误,此版本定为V1.0,后续的版本将会根据修订情况相应更改。


 


 


                                                       正点原子@ALIENTEKE


                                                                     2010-7-8

PARTNER CONTENT

文章评论6条评论)

登录后参与讨论

用户1668196 2013-10-16 20:03

谢谢啊!

用户319475 2010-12-5 17:36

楼主辛苦了

用户278923 2010-8-3 16:50

好长时间没有见到你了 感谢你以前发的几个寄存器操作的例程 冒个泡,就是出来谢谢你, 哈哈~膜拜ing...

用户166298 2010-7-16 16:32

谢谢了,会期待着!

liujun6037_345432000 2010-7-15 17:13

会全部共享的.

用户166298 2010-7-15 14:48

能不能全部共享。。。
相关推荐阅读
正点原子 2013-05-17 23:47
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第六十一章 战舰STM32开发板综合实验(标准例程终结篇)
   第六十一章 战舰STM32开发板综合实验        前面已经给大家讲了55个实例了,本章将设计一个综合实例,作为本指南的最后一个实验 ,该实验向大家展示了STM...
正点原子 2013-05-03 23:02
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第六十章 UCOSII实验3-消息队列、信号量集和软件定时器
   第六十章 UCOSII实验3-消息队列、信号量集和软件定时器   上一章,我们学习了UCOSII的信号量和邮箱的使用,本章,我们将学习消息队列、信号量集和软件定时器...
正点原子 2013-05-03 20:42
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十七章 ENC28J60网络实验
第五十七章 ENC28J60网络实验   本章,我们将向大家介绍ALIENTEK ENC28J60网络模块及其使用。本章,我们将使用ALIENTEK ENC28J60网络模块...
正点原子 2013-05-01 23:00
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十九章 UCOSII实验2-信号量和邮箱
第五十九章 UCOSII实验2-信号量和邮箱      上一章,我们学习了如何使用UCOSII,学习了UCOSII的任务调度,但是并没有用到任务间的同步与通信,本章我们将学习两个最基本的...
正点原子 2013-04-30 10:55
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十八章 UCOSII实验1-任务调度
  第五十八章 UCOSII实验1-任务调度      前面我们所有的例程都是跑的裸机程序(裸奔),从本章开始,我们将分3个章节向大家介绍UCOSII(实时多任务操作系...
正点原子 2013-04-26 23:16
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十七章 ENC28J60网络实验
 第五十七章 ENC28J60网络实验  本章,我们将向大家介绍ALIENTEK ENC28J60网络模块及其使用。本章,我们将使用ALIENTEK ENC28J60网络模块和uIP 1...
EE直播间
更多
我要评论
6
9
关闭 站长推荐上一条 /1 下一条