放弃51单片机直接学STM32好么?
1.如果要是学STM32的话,有什么好的板子或者教程推荐么?
2.我对数电模电什么的都不了解,如果要达到自己画板,找人做PCB(是这样吧?我是听说的PCB要找人做),然后焊原件,编程实现功能的话,都需要学什么内容,有什么书推荐么?
先来一颗定心丸“不管51有没有落后,学习51都是值得的,个人认为不会浪费你的时间和精力”,理由如下:
从外设上面看,都是类似或者一样的。 通讯方面的I2C/SPI/UART、模数AD/DA、Timer/Interrupt/PWM/DMA/USB/Ethnet/I2S/Can/PulseCounter等。这些东西在增强型51上面大部分都有(请自行搜索我们熟知的“伟大的”STC芯片Datasheet),STM32自然也有(同样,自行搜索一个STM32F103系列芯片的Datasheet,下面有附图1), STM32上面的这些集成外设有可能功能较为强大,但是简单些的51外设学起来会更快(门槛较低嘛),同时学东西本来就是循序渐进的,对比51的外设操作STM32/ARM的无非就是多几个寄存器和功能而已,例如有可能有脉冲累加器PulseCounter还有脉冲捕捉功能。51简单,学习51恰恰可以让初学者快速上手,这个对于初学者才是关键。
从学习编码的角度来看。ST公司给STM32提供了库,因此,我们我们可以很方便的来设置一个寄存器和操作外设,当然也可以不使用库自己手动读写寄存器,此时就和51一样了。
成本。学习成本和金钱成本。金钱成本:没错对于个人而言,买片低端的STM32和增强型的51芯片价格差不多。但是既然你已经有了51的学习板子和资料(我猜),那么就先好好使用它学完基础再说吧。对于企业开发产品而言,价格的决定因素太多,不做评价。学习成本:同样是中国特色和谐版的Keil/MDK/Gcc软件上面有什么区别呢?下载同样可以使用串口ISP,有什么区别呢?但是STM32可以使用同样是中国特色的和谐版Jlink来调试却远比一次次的串口下载看效果来得有效。当然51也有对应的调试器,但是我们一般不会去买。
既然学习51一段时间了,那么继续学习51的其他基础,然后转到STM32,因为用STM32来做飞控控制器更佳。
1.如果要是学STM32的话,有什么好的板子或者教程推荐么?
STM32硬件有什么太多区别嘛?贵点的就多个什么NorFlash、网卡等外设外,没有什么区别。管它什么神舟几号、安富莱、野火、百为、奋斗…… 按需(外设什么的)选择吧。
提供的教程和配套程序很关键:我做毕设的时候买了个特贵的STM32板子,然后我需要用高版本的μCGUI/emWin,结果就是我自己移植了μCOSII和μCGUI,没错,STM32的东东大多类似,但是如果你赶时间,那就不一样了。
2.我对数电模电什么的都不了解,如果要达到自己画板,找人做PCB(是这样吧?我是听说的PCB要找人做),然后焊原件,编程实现功能的话,都需要学什么内容,有什么书推荐么?(我最近在看《编码》感觉这书很不错,不知道看完它的话,能不能算入个门?)
数电模电:那个郭天祥的视频教程里面,会讲AD/DA,译码器什么的,算是无痛入门。因此学到那些地方的时候看看数电模电对应的章节就够了。刚刚翻了下以前买的但是没有看过的《编码》,觉得足够了。遇到没有学过的东西再看数电模电吧。如果觉得大学的数电模电看得不舒服,那就买本专科院校的数电模电书,肯定管用,哈哈。
PCB:顺手将郭天祥/于振南的Altium Designer PCB设计的视频也下载了吧,跟着他学会很快入门的,当然郭同学讲得很细致因此特别慢,其中某些地方,郭天祥也是现学现用,比较有意思。想来我还是得感谢他。陪我度过的大学低年级。
(转自知乎大神的回答)
先来一颗定心丸“不管51有没有落后,学习51都是值得的,个人认为不会浪费你的时间和精力”,理由如下:
从外设上面看,都是类似或者一样的。 通讯方面的I2C/SPI/UART、模数AD/DA、Timer/Interrupt/PWM/DMA/USB/Ethnet/I2S/Can/PulseCounter等。这些东西在增强型51上面大部分都有(请自行搜索我们熟知的“伟大的”STC芯片Datasheet),STM32自然也有(同样,自行搜索一个STM32F103系列芯片的Datasheet,下面有附图1), STM32上面的这些集成外设有可能功能较为强大,但是简单些的51外设学起来会更快(门槛较低嘛),同时学东西本来就是循序渐进的,对比51的外设操作STM32/ARM的无非就是多几个寄存器和功能而已,例如有可能有脉冲累加器PulseCounter还有脉冲捕捉功能。51简单,学习51恰恰可以让初学者快速上手,这个对于初学者才是关键。
从学习编码的角度来看。ST公司给STM32提供了库,因此,我们我们可以很方便的来设置一个寄存器和操作外设,当然也可以不使用库自己手动读写寄存器,此时就和51一样了。
成本。学习成本和金钱成本。金钱成本:没错对于个人而言,买片低端的STM32和增强型的51芯片价格差不多。但是既然你已经有了51的学习板子和资料(我猜),那么就先好好使用它学完基础再说吧。对于企业开发产品而言,价格的决定因素太多,不做评价。学习成本:同样是中国特色和谐版的Keil/MDK/Gcc软件上面有什么区别呢?下载同样可以使用串口ISP,有什么区别呢?但是STM32可以使用同样是中国特色的和谐版Jlink来调试却远比一次次的串口下载看效果来得有效。当然51也有对应的调试器,但是我们一般不会去买。
你还有很多路要走
路漫漫其修远兮,吾将上下而求索
多谢教诲,谢了
我只能说,51是入门,但是51也能做很多事情。
可以,但是STM32比51单片机要困难,程序要复杂
我也打算弄片STM32的板子来玩玩
我反正现在正在开始学,其实都不冲突吧
可以直接过去,其实原理一样
其实不冲突的。I2C,SPI,PWM,ADC等外设的原理都是通用的,不同的是stm32里面外设一般更复杂,性能更高,学习难度也更大。不过做项目的一般人不会用51做比赛做项目,毕竟对于很多情况51性能确实有点低了。
我的建议是打算走的比较远的话直接上手stm32,网上资料很多,不过我觉得最好的资料是数据手册(毕竟我就是看数据手册学会的arm微控制器)
至于板子,可以用altium designer自己画原理图PCB,这个资料网络资源也很丰富,度娘搜一搜就有各种视频了
希望对小编的问题有帮助
51是入门,一般都是从51开始的
可以先学51,学会了之后很好上手STM32的。因为学完51后(最好是增强型的,因为外设相对丰富一些,我当时用的STC12C5A60S2)你会对单片机的工作方式,外设都有一定了解。并且学起来也不困难。等你学完51上的外设之后,拿到STM32的板子,你会发现还是那些外设,并且STM32有一个官方帮你写好的库,调用这个库的函数甚至连寄存器是怎么工作的都不用知道。当然,你必须得了解单片机这些外设的作用,才能去明白库函数你应该用些什么。STM32的学习建议看正点原子的资料。网上都能搜到。讲的很细致。
小编说的画PCB板子,我也是才学。看的是郭天祥的视频。大概两三天就能全部看完,毕竟AD10东西也不是太多。看完之后自己动手画一下。慢慢就掌握了。特别是你画出来的板子,拿去打样成样板后,回来把元器件都焊接上能工作时,就太棒了。
51学过当然其他的很好学的,努力
确实差不多,直接上手stm32也行,你需要多学一些c语言,和数电模电的知识,和ad软件,不建议学99了,同样也过时了。然后加上自己的坚持就可以了。说白了硬着头皮学stm32和ad,刚开始可能看不懂。时间久了,就好了
51是基础要学,野火的stm32,资料多,好学,
51比较基础容易上手,其实51学好了对你进入ARM也是有好处的
可以,但是一开始不要使用STM32带库函数,要通过寄存器使用,这样才能深入原理使用。
我觉得还是看个人吧,我没学过STM32,学过51,感觉51并不难,看别人用32做实验的时候有些东西和51挺类似的