您好!欢迎光临深圳市英瑞尔芯科技有限公司官方网站!
新闻动态
产品展示
联系我们

深圳市英瑞尔芯科技有限公司

地   址:深圳市福田区振华路现代之窗A座7B

联系人:刘小姐

电   话:186 6591 0262

微   信:186 6591 0262

新闻详情 当前位置:首页 > 行业新闻 > 放弃51单片机,直接学STM32的开发会有什么严重的问题么?

放弃51单片机,直接学STM32的开发会有什么严重的问题么?
 日期:2022/9/12 21:57:00 

高校物联网专业学生,从小白这个角度来说一下。

当然,对于题主这种情况,已经有多年写代码的经验,并且了解C语言,我觉得直接从32开始学是可以的。

有过软件开发能力,别的不说,你最起码知道遇到问题怎么找解决方法吧,一些开发文档看的懂吧!

然后从我自身的经历,以及我周边的同学来说说。

我大学的专业是 物联网应用技术 ,大一下学期学习了C语言,大二上学期学习了51单片机,大二下学期学习了STM32f103和CC2530这两个芯片做的开发板(前面的课程是嵌入式系统,后面的课程是Zigbee技术)。

那我自己的学习路径也是C语言,51,STM32这样的。而且我觉得,学习51对我后来学习32的板子有很大的帮助!

下面就简单说几点我的理由吧,前提!

这些是基于我自身的经历,或者可以说是给刚上大学,高中阶段完全没有经历过编程的小白的一点小意见!请各位大神轻喷!

在51单片机里面学习C语言

说出来你们可能都不相信,我是在做51的时候才真正记住了for循环到底是怎么循环的。之前学习C语言的时候,当时会了,考试前也复习了,但是也没有真正的实践过,所以转头也就忘了。等到开始玩开发板之后,程序需要自己一行一行写的时候,又回头重新学了一遍C语言。而这次是一边学,一边用,跟以前是完全不一样的。

所以说,如果你是完全没有了解过C语言的,一边做开发板一边学习C语言,更有效率。而且由于相对而言,51单片机的程序复杂度比32低了很多很多!

你点亮一个灯,就直接写P0=0xfe;就完了,这个数值是怎么从二进制算到十六进制的,C语言怎么写都简洁明了,很容易让人接受。

而STM32的板子呢?不用库的画,先设置GPIO口输出模式,配置寄存器什么的,一个啥玩意都不懂的小白,知道啥是寄存器?

用库的话,先定义结构体变量,在赋值,再用指针指向首地址...妈耶,刚看完hello world的小白,真的能学得下去么…

51单片机一开始基本上就一个.c 一个.h文件吧,如果用32的板子,在使用库的话...一个刚入门还在学习的人,看的懂么…

一句话,程序复杂性来说,51单片机比STM32简单的多得多,更适合刚入门的小伙伴!

了解寄存器等这些以前从来没有过的概念

51单片机点亮一个灯,给相应的引脚赋值就完了。在使用中断,串口,计时器这些功能时会遇到配置寄存器。

51单片机的寄存器只有八位,比如配置中断,我在哪个寄存器上的哪一位写1或者写0就可以改变中断的触发方式。慢慢的我就知道,寄存器是干嘛的,怎么配置。

STM32的寄存器,32位,从点亮LED开始就要配置寄存器,而且我记得点灯还得配好几个寄存器吧。一个小白,点亮一个LED,最简单的程序,得去画大量的时间理解什么是寄存器,寄存器是怎么配置的,寄存器有什么用!

一句话说,51单片机更简单的结构,可以帮助你更好地理解很多以前从来没有接触过,但是却很重要的概念。这里不仅仅是指寄存器,还包括时钟啊,中断啊,定时器啊这些乱七八糟的。

了解基本的单片机芯片的功能

举个栗子,很多从未了解过相关知识的人,是很难理解中断这个概念的。

51单片机,5个中断源,两个外部中断,一个串口中断,两个定时器中断,你照着教程,照着寄存器说明书慢慢理解就是了。

STM32,辣么多中断源,配置中断前还要中断优先级分组,当然也是通过寄存器配...

再举个栗子,定时器。51单片机定时器就是定时器,PWM也是在定时器中断里翻转电平状态来完成的,STM32的PWM是定时器就带有这个功能。我觉得还是51单片机能帮你更快的理解定时器与PWM。

一句话,最基本的逻辑和功能,51单片机该有的他都有,而且更简单,对于新人更友好!

以上是我总结的先学51比直接学32的优势。但是例如我觉得阅读芯片手册的能力,修改代码的能力,编译器编译器使用的能力等等这些,先学51还是直接学32并没有明显的差别。甚至有些地方,直接学习32更有效率。

但是对于刚入门的小伙伴,我仍然建议先学一学51单片机。只要会一点C语言,买块开发板,根据教程做几个实验,学得很快的,而且也简单!

再次声明,这是根据我自身作为一个曾今完全不了解单片机,不了解编程的小白到现在能用单片机做一点小玩意的学习经历!

最后还有一点呐,特别特别特别重要!51开发板上也就五六十块钱,七八十的都是豪华套餐,各种传感器,各种外设。STM32的开发板,正点原子的话,最便宜的一款也块两百块钱,我买的是战舰版的,340多。然后什么显示屏啦,仿真器啦...钱哗哗的。可是说不定你玩51几天,觉得不好玩,单片机没意思,不玩了,那还省好多钱,哈哈哈~

相关标签: