幻化成风_不能言说的伤
在项目开发过程中,我们经常会遇到需要单片机选型,所以我们常常会根据项目功能需求来选择合适的单片机品牌和型号。常见的51内核单片机和STM32单片机也会是我们主要考虑的型号。
STM32与51单片机的参数差异
- 内核不一样,STM32系列目前有很多的内核版本,有Cortex-M1/M4/M7内核,常用的单片机型号STM32F1系列,为Cortex-M3内核,而51单片机其实是指与intel8051内核结构一致的单片机,是其内核结构和时钟树结构相差极大。STM32系列的工作主频也比51单片机的
- 外设不一样,我们常用的STM32F103rct6这个型号,此型号有256K的FLASH,作为程序存储空间,也可以作为单片机参数存储空间,断电不丢失, 还有5个串口,SPI接口,多路定时器和PWM输出控制引脚。其功能比51单片机强大。
- 单片机最小系统不一样,常用封装不一样,51单片机常见DIP40,但STM32常见LQFP封装,STM32F103rct6为LQFP64,能用的引脚更多。
STM32与51单片机软件开发难度差异
STM32使用寄存器比51单片机要多很多,其配置比51复杂,而且中断逻辑,时钟配置使能控制等很多概念都是51单片机中所没有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加强大,虽然官方提供了开发固件库和相关开发辅助工具,但很多时候,遇到bug调试难度也加大了很多。
stm32固件库很多实用结构体和指针变量,很多在51单片机开发过程不太注重结构体与指针的使用,那么在STM32开发过程中,就难以理解其固件库的运用逻辑。
STM32与51单片机的性价比差异
STM32比51处理速度快,外设功能丰富强大,所以价格普遍比51单片机偏贵,在项目选型过程中,需要根据项目功能需求,选择合适的单片机,如果是51单片机能用,那么考虑项目成本,肯定是不能选择STM32,如果51单片机不能用,即使再便宜,也用不了。
总之, 作为单片机开发工程师,需要能够进行一定的器件选型能力,这个也是必备的专业技能。
科技电小二
李工的经验,有如下几点不同,希望你供你参考。
1.51是8位单片机,而stm32是32位单片机。时钟方面stm32运行频率更高,性能更好。两种单片机性能差别比较大。
2.片上资源不一样。简单讲stm32单片机外设丰富,比如串口,I2c等。stm32单片机片上flash和RAM更大。以后升级功能,改进功能的空间大。如果考虑以后功能升级,建议考虑stm32.
3.成本上应该是51单片机要便宜一些。
4.stm32单片机开发资料和参考程序比较多,有库函数,应用起来方便。51单片机更多直接操作寄存器,开发不方便。
我是北漂李工,一个北漂8年的程序员。
目前在从事家电类产品的嵌入式软件开发,也在使用stm32。欢迎大家关注,收藏,点赞!
北漂李工看科技
搞多了开发,你会发现其实用什么真的不重要,只要你会用就行。单片机好比一个精密机床,你要想加工一件作品,你用任何品牌的机床都可以,关键点是这个机床你会不会用,了解通透程度如何。不同品牌机床操作方法肯定大同小异,不会差别很多,你会用一种,另外一种不用看手册,也能猜出个七八分。机床这样,编程也是这样,给你个51,你应该能控制全世界。