51单片机核心, 采用8bit, CISC架构, 来自INTEL。
STM32核心, 采用32bit, RISC架构, 来自ARM。
stm32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、功能强大(外设丰富、管脚多、管脚功能可重映射),优点多多。
编程的区别:
stm32基本不要汇编了,工程量巨大,寄存器太多了,位数也多。而51单片机多使用汇编。
C语言编程区别就不大了,况且stm32在国内技术支持很到位,资料丰富(关键是不但有E文,中文资料翻译的也多),还有完整的库函数支持,从51转过去没太大困难。有51相似电路的程序,移植的话好多都不用改的,只是针对寄存器、IO口、中断等的修改,软件流程、控制逻辑基本不用改。
主要有以下不同:
1.库函数: ST厂家给了丰富的函数库,直接使用库函数,基本就能搞定所有事情,省时省力。
2.速度: STM32主频72MHZ,飞一般的速度。基本上不用考虑处理能力的问题,不论你的算法有多笨拙,STM32会瞬间帮你执行完。
3.管脚: 51编程所需要的地址锁存、3-8译码器,在STM32上统统不再需要,STM32拥有充足的IO接口。
4.外设:STM32拥有3个串口,2个SPI,3个CAN,两个USB,n个TImer。而51单片机基本没有外设。
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍