什么是单片机STM8
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是单片机STM8相关的知识,希望对你有一定的参考价值。
ST的8位微控制器平台基于高性能8位内核,配有先进的成套外设。 该平台采用ST的130 nm嵌入式非易性存储器专有技术。 STM8通过增强型堆栈指针运算、先进的寻址模式和新指令实现快速、安全的开发。 STM8平台支持三种主要产品线:STM8S,通用微控制器
STM8L,超低功耗EnergyLite™微控制器
STM8A,汽车级微控制器
以上是ST公司官方给出的介绍。对于选型来讲STM8的主要特点是最高工作频率24MHz,性能可以达到20MIPS。定时器等外设资源的架构和现在炙手可热的STM32系列ARM基本相同,可以用类似的方式控制,官方提供了软件架构库FWLib,可以简化开发过程。中断的处理方式与AVR不大相同,几种中断源可能对应一个中断向量,据说类似51,但是我没用过51,所以没有考证。价格上与AVR的定位类似,感觉性价比稍微高于AVR一些。仿真器为ST-Link,可以在淘宝上买到,只需要100多就可以,所以上手成本也比较低。
不知道这些信息是否能够满足您的需求。 参考技术A ST是意法半导体 M是微控制器 8是8位的 所以STM8就是意法半导体的8位微控制器的一个型号 参考技术B STM8是意法半导体生产的8位单片机,哈弗结构,三级流水线,有内置bootloader,也可使用UBC(用户启动代码),可采用ICP(在线编程)和IAP(用户编程)两种模式,但是初次下载必须使用ICP,此单片机内设模块资源还是比较丰富的,运行速度也是非常快,适合大部分系统实时性要求。 参考技术C 单片机中的一种,STM8S是基于8位框架结构的微控制器,其CPU内核有6个内部寄存器,通过这些寄存器可高效地进行数据处理。STM8S的指令集支持80条基本语句及20种寻址模式,而且CPU的6个内部寄存器都拥有可寻址的地址。功能较强。 参考技术D 计算后你还是不知道实际情况如何。
最好是作个死循环,里边是你的for循环1us或1ms的延时。延时时间到,让一个口线取反输出。这样用示波器就可以很准确的得到你的数据了。
跳过51单片机,直接学STM32有什么严重后果?
STM32现在之所以这么普及,主要是教程资料非常丰富,一些卖开发板做教程的至少有50%的功劳。
再价格也算合理,导致很多企业用这个单片机去做产品,初学者也更渴望掌握这款芯片。
不过STM32这两年涨价太狠,很多公司采用国产芯片替代了。
我刚接触单片机是在2011年,当时STM32还没现在这么普及。
买开发板就只有例程,还没视频教程。
不然,我也可能直接从STM32开始学了。
人都是浮躁的,总想用最短的时间,学最复杂的东西。
就像我以前去买开发板,明明标配的可能都搞不完,偏偏喜欢上高配。
高配的看起来能做的功能更牛逼,也更接近市面上一些高端产品的功能。
其实买回来,大多数都是丢在一遍吃灰了。
我对陌生的东西,思维还是很古板的,把小白的特性体现的淋漓尽致。
我喜欢从简单的,通俗的入手,系统化地去学习。
如果你认为自己天赋异禀,可以直接学STM32。
但大多数人都是普通人,按照我的路径学习,不敢说快,至少坚持下去肯定是能学会,也能很快达到我的水平。
高手的成长过程可能很牛逼,但并不定适合你。
但是我经历过的路,一定适合大多数人。
我建议新手还是先从51单片机开始学习,不要一上来就打Boss。
前段时间收到了几个小伙伴咨询问题。
他以前是做后端开发的,最近学了STM32,学得很迷茫,改别人的例程用keil编译的时候出现一堆问题,解决起来无从下手。
有些外设虽然也能用起来,但总感觉把控不住,不知道单片机里面具体是怎么工作的。
这就是典型的越级了,学了超出自己认知范围外的东西。
STM32的定位应该是缩短工程师的开发周期,而不是给入门者学习单片机用的。
所以,ST官方提供了一系列便利的支持,比如说固件库,还有图形化配置的STM32CubeMX。
相当于,你可以完全不需要关心STM32寄存器,甚至连数据手册都不用看,就能直接调用库函数把外设用起来。
相反,51单片机则没那么便利,需要你手动去配置寄存器把外设用起来。
这个过程你能同步学习到一些工程师必备的东西,比如说单片机工作原理,内部结构,看数据手册等等。
特别是看数据手册,如果你一点都不懂,后续你用STM32开发项目也会有大量莫名其妙的问题。
就是找不到北那种感觉,可能问题都不知道是什么,更别说解决了。
任何一款基于单片机的产品,99%都需要看一些外围电路的器件数据手册,不然你怎么知道如何去使用它?
看起来,你是走了捷径,节省了学习51单片机的时间,实际上你所花的时间可能更长。
浪费几个月,又可能又要从头开始学。
新手刚入门,也不一定非得从51单片机开始学习,主要是资源少一点的就行,只不过51单片机最经典。
那你通过stm8去学习也是可以的,外设也没多少个,至少用配置寄存器的方式去开发还能把控得住。
Stm32内部还是比较复杂的,外设寄存器又多。
对于新手来说不是一个很好的选择,本来你可以学会的,因为学习顺序不对导致放弃就可惜了。
除了学习顺序,学习方法和深度都是不同的。
51单片机一般是需要系统学习,熟悉每个外设对应的寄存器配置。
而STM32我几乎没看过多少次数据手册,直接调库把外设用起来就行。
很多东西,你现在理解起来很难,等你经验积累的差不多了,自然而然就领悟了,不需要刻意去学习。
比如看STM32的数据手册,哪怕是看中文的,很多寄存器干嘛用的,你完全看不懂的。
拿我自己为例子,说出来有点讽刺,但是很真实。
我英语水平很差,我是怎么看英文数据手册的,是根据我的经验去猜测和理解数据手册。
我相信,像我这样的工程师应该不在少数。
因为用多了,看多了,很多核心的参数都是相同的。
学STM32也是一样的,想通过数据手册去学单片机简直就是噩梦。
正确的方法,不管三七二十一,哪怕复制例程,我把外设先用起来看看效果再说。
总比看枯燥数据手册有趣多了,用起来了再尝试去改一些参数,改引脚,改定时时间,改通道…
等你把STM32固件库用熟了,发现某个外设的结构体成员对应正好也是对应某个寄存器。
这个时候再针对性去研究对应的寄存器,就会好理解很多。
一般上了STM32这种级别的单片机,通过项目去学习是最快的。
假设在此之前,你已经学过别的单片机了,那这个时候对你最有价值的不是学会STM32。
而是能做项目的能力,从专业术语来说就是项目思维和编程水平。
单纯从开发板上学习,只能学会单片机这个工具,学完你会发现还是不会做项目。
这也是无际单片机编程让学员以项目驱动学习的原因,我自己就是通过项目学会STM32的。
对于不能落地的东西,不管是知识还是想法,都是在消耗时间。
最后祝大家学有所成!
码字不易,原创更难,更多单片机实战经验尽在无际单片机编程,如果对你有帮助麻烦给我安排个三连吧…
以上是关于什么是单片机STM8的主要内容,如果未能解决你的问题,请参考以下文章