从51过渡到32我们该如何做
想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。
一、首先我们要知道51和STM32的区别。
STM32比51主频高、RAM大、FLASH大,外设比51多,如:CAN、USB、FSMC等,能让你做更多的项目。而且STM32有固件库,由于这是官方已经做好的,我们可以直接进行调用,不再需要看着手册,查寄存器来写代码,我们开发起来就非常的方便。
由于STM32的优点非常多,这让它成为了目前最大众化、最主流的单片机,所以我们初学者不仅要学习51还要从51过渡到STM32。这样才能跟上时代的步伐。
二、内核。
内核就是内部的核心,如:ALU算术逻辑单元、流水线、指令集等。
51的内核仍然叫51虽然现在用51开发产品比较少,但是用51内核的芯片做产品还是比较多的。STM32的内核有Cortex M0、M0+、M3、M4、M7等。
因为ARM Cortex系列的芯片分为高端的A系列,中端的R系列、低端的M系列,所以STM32有好几种内核。
三、如何从51过渡到STM32?
虽然51看上去有点老旧,但是它也有它的优势。我们不能以单纯的技术崇拜而把51贬得一无是处。只不过我们要跟上时代的步伐,我们需要掌握更多的技术,以适应不同的工作环境。
我们的学习是从51过渡到STM32,在51的学习时间就会相对的要少,掌握基本的定时器、串口,就可以把重心放到STM32上来了。
51
一、首先掌握C语言语法。
单片机用的C语言叫C51,C51除了标准C的语法之外,还特意为单片机增添了几个语法而已,没有很大区别,其中流程控制(包括if,for,while,switch等)以及指针和结构体都是需要掌握的。去网上找些案例看并练习。
二、少量的实践。
你可以买一块单片机开发板来点下灯,做点中级的密码锁,超声波测距,红外摇控这些项目。选择两三个实现就行,不要在这个阶段停留太久,重点掌握定时器和串口。
三、养成良好的编码习惯。
谁都不能一开始就能写出优秀的代码,都需要以个过渡期和沉淀期,多去看一下别人的优质代码,多进行模仿和学习,总结经验。这里要注意的一点就是,不要用拼音来命名变量或者函数名,这些都是非常不好的编码习惯,全部都要使用英文命名。
STM32
一、学会固件库。
有了51的基础后,我们同样学习32也要先买一块STM32开发板,附带一个仿真器。这里下载代码可不像51那些,用串口就能下载的了,得再加上一个仿真器。
仿真器有ST link、Ulink等,个人比较不推荐使用J link。而仿真器的接口有JTAG和SWD,我比较推荐使用SWD,接3根线就可以了。
学习不可避免要进行看书,这里我个人推荐《STM32开发指南库函数教程》,通过书本带动我们进行学习。我们需要掌握STM32的外设有ADC、RTC、CAN、IIC、UART、SPI、DMA、IAP、SDIO等。
实践
因为我们是以学习32为目的的,我们要着重花费时间去吃透STM32,要吃透一款单片机最好的做法就是多做项目,从开发板的所有外设到脱离开发板自己拓展一些小功能最后再用STM32的芯片自己去做一个项目级的产品,多为自己累积开发项目的经验,这是学习单片机最快最有效的办法。
单片机外面的世界。
就算我们可以玩转STM32,但也只是打开了单片机世界的一扇门而已,要知道学习是永无止境的,我们还要选一个方向作为自己未来的发展方向。但是工作中可以会用到几个方向的知识,反正尽量多学点。
1、嵌入式操作系统。2、ucgui/STemwin、Touch GFX。3、上位机。4、数据结构和算法。5、接口应用。有兴趣可以弄一下,这些都是比较实用的技术。
本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.