不同的MCU即单片机,完成相同的功能,需要不同的代码吗?

不同的MCU即单片机,完成相同的功能,需要不同的代码吗?

不久前,在网上学习了51单片机,按照顺序应该接着学STM32的,但是由于想了解WIFI时钟,了解到:Arduino,而且直接买了ESP8266开发版,于是将教材里用在Arduino Uno开发版上的例程,直接移植到ESP8266开发版上,用不同的库,现象上有些不同:并且串口输出一些异常,具体如下:
https://www.bilibili.com/video/BV1CG4y1i7EY/?vd_source=ab32802ec05e772b6e428df3be9fc20e

当然我知道:有位和32位之分,除此之外还会有不同吗?,比如Arduino Uno上的微处理器和ESp8266上的微处理器会有区别吗?

不同的单片机管脚都不一样
功能不一样,数量不一样,位置不一样,有些连高低电平什么是0什么是1都不一样
除非你拿单片机纯粹搞内存计算,但是几乎没人这么干
但凡你涉及到按钮输入,指示灯输出,各种电压输入输出,那都是跟管脚有关系的

肯定要呀,处理器的内部不一样,虽然可能逻辑大同小异

只要你的代码涉及到外设,都需要进行移植的。当然你也可以将你的代码中涉及外设的部分中使用#if..#elif..#endif这样的宏,这样更便于后续代码的移植和维护。

不同的平台实现相同功能,越高级的语言,相似性越高。因为高层主要是算法方面的,而底层则是和处理器架构有关的,算法是相同的,但硬件架构是不一样的。