先来一颗定心丸“不管51有没有落后,学习51都是值得的,个人认为不会浪费你的时间和精力”,理由如下:
1.从外设上面看,都是类似或者一样的。 通讯方面的I²C/SPI/UART、模数AD/DA、Timer/Interrupt/PWM/DMA/USB/Ethnet/I²S/Can/PulseCounter等。这些东西在增强型51上面大部分都有,STM32自然也有, STM32上面的这些集成外设有可能功能较为强大,但是简单些的51外设学起来会更快(门槛较低嘛),同时学东西本来就是循序渐进的,对比51的外设操作STM32/ARM的无非就是多几个寄存器和功能而已,例如有可能有脉冲累加器PulseCounter还有脉冲捕捉功能。51简单,学习51恰恰可以让初学者快速上手,这个对于初学者才是关键。
2.从学习编码的角度来看。ST公司给STM32提供了库,因此,我们我们可以很方便的来设置一个寄存器和操作外设,当然也可以不使用库自己手动读写寄存器,此时就和51一样了。
3.成本。学习成本和金钱成本。金钱成本:没错对于个人而言,买片低端的STM32和增强型的51芯片价格差不多。但是既然你已经有了51的学习板子和资料(我猜),那么就先好好使用它学完基础再说吧。对于企业开发产品而言,价格的决定因素太多,不做评价。学习成本:同样是中国特色和谐版的Keil/MDK/Gcc软件上面有什么区别呢?下载同样可以使用串口ISP,有什么区别呢?但是STM32可以使用同样是中国特色的和谐版Jlink来调试却远比一次次的串口下载看效果来得有效。当然51也有对应的调试器,但是我们一般不会去买。
因此总结一下我的看法:
既然学习51一段时间了,那么继续学习51的其他基础,然后转到STM32,因为用STM32来做飞控控制器更佳。 |