打印
[其他]

【每日话题】是否可以略过51单片机,直接学STM32?

[复制链接]
2749|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
恭喜以下用户获奖:
@cxyq7113   @jamesyang1991cn   @神圣雅诗人

请获奖用户给小喇叭发邮件:wangyq@21ic.com

为防止冒领,邮件格式如下:

51单片机话题 + 用户名 + 注册邮箱 + 收件人 + 电话 + 收件地址

双方确认后一周内为您发出

奖品自开奖日起为您保留两周(2020年3月10日 至 2020年3月23日),逾期未领奖视为自动放弃





大家好


今日话题:工程师是否可以略过51单片机,直接学STM32的开发?



最近小喇叭浏览网络,发现有工程师提出:51单片机和STM32成本差不多,但是STM32性能却高了很多,建议从STM32开始学起。

小喇叭不知道这位前辈说的对不对,想知道大家有什么看法?



参考范围:

1、 51属于基层吧,真的不用学了?

2、 如果要学STM32的话,有什么好的板子或者教程推荐?





本话题抽取3位获奖用户,于2020年3月10日在本帖开奖~

参与的用户可以收藏本帖,明天来看看是否中奖哦!

使用特权

评论回复
评论
hobbye501 2020-3-9 10:43 回复TA
51是始祖,32是未来! 

相关帖子

沙发
tpgf| | 2020-3-9 09:27 | 只看该作者
没有任何问题啊

使用特权

评论回复
评论
21ic小喇叭 2020-3-9 11:08 回复TA
会不会对有点基础的人,直接学32可以。没基础的呢? 
板凳
dirtwillfly| | 2020-3-9 09:29 | 只看该作者
完全可以直接学stm32。
这个问题首先要弄明白为什么要学习51单片机,原因是学校是用的教材都是51单片机的,所以从学校里开始学习单片机的都绕不过51单片机。
stm32有很多优秀的开发板和教程,具体就不说名称和型号了,可以去某宝搜索“stm32开发板”选销量最大的几款就可以,卖家都是提供教程的。论坛也有很多教程可以参考。

使用特权

评论回复
评论
dirtwillfly 2020-3-9 15:48 回复TA
@21ic小喇叭 :对的 
21ic小喇叭 2020-3-9 11:08 回复TA
自学的人,可以直接学32? 
地板
WoodData| | 2020-3-9 09:36 | 只看该作者
本帖最后由 WoodData 于 2020-3-9 09:39 编辑

我也认为可以直接学STM32单片机。单片机都差不多。不过新手初学STM32要找资料和例程多的开发板,学起来更快、更容易。只要C语言基础好,看的懂别人程序,学51还是stm32都一样。

使用特权

评论回复
评论
WoodData 2020-3-9 16:12 回复TA
@21ic小喇叭 :比如原子的,野火的,资料很多,还有视频书籍,入门学习很方便。 
21ic小喇叭 2020-3-9 11:09 回复TA
要找资料和例程多的开发板,比如啥? 
5
cxyq7113| | 2020-3-9 10:31 | 只看该作者
可以略过,首先51和STM32 有以下三个基本不同之处:
(1)数据结构不同 ——51是8位数据结构,STM32 属于32数据结构,
(2)取指的结构——51是哈佛结构(单流水线),STM32是三级流水线结构
(3)机器语言命令不同
(4)数据空间和程序空间不同
这些不同导致了学习51后如果要使用STM32还需要重新学习。另外如果要使用操作系统,则二着之间的移植方式也不同。
另外51和STM32都支持C语言,都支持相同的编程环境—KeilC等。因此可以略过51直接学习STM32
但如果有51的基础再学习STM32 的好处是学习的速度和理解上要快,更容易接受 STM32的知识


使用特权

评论回复
评论
21ic小喇叭 2020-3-9 11:09 回复TA
您这个讲解还是比较清晰、详细的! 
6
hobbye501| | 2020-3-9 10:46 | 只看该作者
1、 51属于基层吧,真的不用学了?

可以不学,这个还是要看工程师的情况而定,要是纯应用层的话,可以不学,了解一下就行!但要是底层的话,还是必须要学的!

2、 如果要学STM32的话,有什么好的板子或者教程推荐?

原子,野火,原子主要是KEIL  野火主要是IAR  还是建议自己做个小板,慢慢研究,可以参考以上开发板的例程!

使用特权

评论回复
评论
hobbye501 2020-3-9 12:24 回复TA
@21ic小喇叭 :底层的意思就是 硬件层。跟IC直接对话的,包括,各种寄存器配置 地址,数据总线这些 这些东西 每种芯片都不尽相同,需要根据数据手册进行配置 编写代码! 
21ic小喇叭 2020-3-9 11:10 回复TA
感谢分享,不过我想问下,什么叫:51要是底层的话,还是必须要学的!怎么定义底层啊? 
7
grhr| | 2020-3-9 12:05 | 只看该作者
我个人觉得完全可以,主要原因如下:
(1)51的外设不多,很多外设的实现只能使用GPIO的形式予以模拟,殊不知在在实际应用中,外设还有更多更多51所想不到的使用场景,不论从硬件还是软件的设计和调试角度看,STM32无疑是更好的选择
(2)思维定式,学完51以后,很多变成的思路就定下来了,比如喜欢使用微操作的方式开发,然后再使用STM32的库函数开发的方式,会有点不适应,但是如果你刚开始接触的就是STM32,你再玩别的芯片,就比较得心应手了
(3)应用的角度:51单片机因为资源较少,其实做一个大项目是很难的,但是STM32资源比较多了,做一个复杂的事情还是可以的,想想你将一个小LED灯点亮让你有成就感?还是通过wifi点亮家里的吸顶灯更有成就感?
(4)代价。其实STM32真的已经很便宜了。。。。。
但在这里不是说51一无是处,51对于深入挖掘单片机的结构,理解单片机,以及对以后工作中的降成本开发,都是极其有用的。
以上个人观点哈。

使用特权

评论回复
8
王栋春| | 2020-3-9 12:43 | 只看该作者
完全可以  但是我不会

使用特权

评论回复
9
被补完的卍解| | 2020-3-9 14:01 | 只看该作者
自己学了点STM32,但是没实践过
个人感觉,学51简单,教材多,入门快
我51的编程虽然也有点半吊子,但是我感觉有这点基础知识,再去学STM32,理解快
当然,这只是半吊子的感觉
我跟用STM32的同事聊过,大家都觉得可以直接学STM32,但是有51的实践基础,学起来肯定会快

使用特权

评论回复
10
Cjy_JDxy| | 2020-3-9 14:55 | 只看该作者
我是先学的51,后学的STM32。感觉32还是比51难一些。
上学基本上从51学起,真要绕也不好绕。

使用特权

评论回复
11
jamesyang1991cn| | 2020-3-9 15:00 | 只看该作者
根据我自己的经历,还是要看资料的多少,和市场走向

以前51单片机 比较多,资料也多,所以,学51是一个不错的选择,有人带做项目,学起来非常快

但是现在市场上,明显stm32 占据主流,用arm 芯片,资料也很多,我买了原子哥的,我们项目也是arm 芯片的,所以切换到arm上比较容易入门

现在的情况,我推荐 大概了解下51单片机,主要看stm32,理由如下:
1.arm 芯片有自己的指令集,熟悉的话,工作比较好找
2.目前半导体行业发展,智能化时代,都是嵌入式操作系统,freertos mbedos rtx nuttx等等,嵌入式分为好多种,如果是软件,这些都是基本功,资料多,工作好找,大家都在学习,进步快
3.主要是项目,你学了51 没有一个完整的框架,就执着于几个寄存器和gpio,我见过好几个同事搞mcu 的,写代码太烂了,因为51 代码少简单,没有系统的思维,规范,目前我们和国外的差距规范上面,差了很多,但是学arm,项目多,带你的人也多,进步十分快
4.现在的潮流就是arm 就学arm,大部分都是普通人,只是学了有个好出路,等以后熟悉了,再回过头搞其他平台

使用特权

评论回复
评论
jamesyang1991cn 2020-3-10 16:58 回复TA
@21ic小喇叭 :对头,毕竟我们都是自学,不是专业的师傅带入门,什么都是自己摸索的 
21ic小喇叭 2020-3-9 15:07 回复TA
看来基础知识还是需要有一定了解,但是要根据市场和自己的职业发展,重点研究有用的技能 
12
shakencity| | 2020-3-9 15:35 | 只看该作者
个人觉得完全可以,最关键的还是自己身边的环境,如果是自己一个人单干,即使是学51也是比较枯燥乏味,很容易失去方向,如果是一个团队,尤其是在公司里面,目标明确,而且有很多前辈以及前辈们留下的干货,只要自己稍微努力点,天天抄也能收益颇丰,就像熟读唐诗三百首一个道理,而且,32现在用的这么多,资料也完全够用了,所以总体来说,直接上手吧,犹豫不决是成功最大的敌人!

使用特权

评论回复
评论
21ic小喇叭 2020-3-9 16:21 回复TA
干什么都得多学多思多锻炼啊……! 
13
qbwww| | 2020-3-9 18:19 | 只看该作者
本帖最后由 qbwww 于 2020-3-9 19:50 编辑
  1、因为最近在恶补单片机相关的知识,所以我来说说自己的感受。

  2、首先作为工程师的建议是可以先学STM32。也可以这么理解,就是说先学STM32,再学51。不过两个都要学。

  3、因为在实际工作中,无论8位还是32位的都会经常用到。

  4、51其实是代表着8位内核处理器所有单片机。32是代表着更先进的工艺。更贴切的性能。也代表着32位的内核芯片。

  5、STM32确实性能优异,但是通常有些简单的产品用不到那么优秀的功能。在一些产品中,更追求产品的稳定和成本的低廉,这时候选择8位的处理器就是更好的选择了。因为他们只追求基础功能的实现。像我们的充电器,只要求他能实现两路方波的输出就可以了。

  6、具体先学哪一款,在我看来,重要的是你需要哪一款,就是在实际应用中,你这个产品需要哪一款单片机。具体来说就是你所在的公司要研发的产品要用8位的还是32位的单片机。

  7、像我们公司。产品中只需要8位的单片机。学STM32的话,只是自己知识的拓展。为将来做打算。





使用特权

评论回复
14
lihuasoft| | 2020-3-9 18:54 | 只看该作者
当然可以啦

使用特权

评论回复
15
619888476| | 2020-3-9 19:13 | 只看该作者
可以直接跳过。但是学过51单片机的,然后再学STM32会很快上手的,懂得里面的寄存器配置,存储单元,工作方式是如何进行的,基础决定上层建筑。个人建议从51过渡stm32上,至少对基础知识进行了解,循序渐进。

使用特权

评论回复
16
gyh974| | 2020-3-9 19:58 | 只看该作者
stm32和51虽然内核不同,但是C语言是相通的,而且学习一款MCU,主要是学习程序设计与调试,就像一块田地,你是用老黄牛还是开着拖拉机犁地,最终实现目标是一样的,只是工具不同!

使用特权

评论回复
17
叶春勇| | 2020-3-9 20:24 | 只看该作者
应该可以直接绕,stm32资料贼多,淘宝电子模块大部分提供51和stm32。stm32相比51外设寄存器更多更复杂,难点就这里。

使用特权

评论回复
18
帅气的小柿子| | 2020-3-9 20:25 | 只看该作者
可以直接学32 的 ,51入手只是对那些电脑都没碰过多少的人来说更好入门而已,。32开始入手也不是很难,也就是熟悉一套应用规则,会用C语言的大都挺好入门的

使用特权

评论回复
19
zhangmangui| | 2020-3-9 21:36 | 只看该作者
51属于大学的入门课程,如果在大学能够拿51做一些控制,基本入门了
就理解架构了,然后学习其他的都简单多了

使用特权

评论回复
20
zhangmangui| | 2020-3-9 21:37 | 只看该作者
自我感觉,接触过最TI C2000比较复杂难一些

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1110

主题

7323

帖子

153

粉丝