stm32跟普通的51单片机在程序编写方面有什么区别? STM32比51单片机有什么优点?

\u6c42\u5927\u795e\uff0c\u60f3\u95ee\u4e0bstm32\u548c51\u5355\u7247\u673a\u7f16\u7a0b\u7684\u533a\u522b\uff0c\u7136\u540e\u670951\u76f8\u4f3c\u7535\u8def\u7684\u7a0b\u5e8f\uff0c\u600e\u4e48\u80fd\u6539\u6210\u9002\u5408stm32\u7684

stm32\u548c51\u5355\u7247\u673a\u76f8\u6bd4\uff0c\u4ee3\u7801\u6548\u7387\u9ad8\uff0832\u4f4d\u5305\u542b\u4fe1\u606f\u91cf\u5927\uff0c\u591a\u6570\u6307\u4ee4\u4e00\u4e2a\u5b57\u8282\u641e\u5b9a\uff09\u3001\u6267\u884c\u901f\u5ea6\u5feb\uff0872MHz\u7cfb\u7edf\u65f6\u949f\u4e0d\u662f\u76d6\u7684\uff09\u3001\u529f\u80fd\u5f3a\u5927\uff08\u5916\u8bbe\u4e30\u5bcc\u3001\u7ba1\u811a\u591a\u3001\u7ba1\u811a\u529f\u80fd\u53ef\u91cd\u6620\u5c04\uff09\uff0c\u4f18\u70b9\u591a\u591a\u3002\u7f16\u7a0b\u7684\u533a\u522b\uff0cstm32\u57fa\u672c\u522b\u6bd4\u5212\u6c47\u7f16\u4e86\uff0c\u80fd\u628a\u8111\u888b\u641e\u5927\u5927\u6ef4\uff0c\u5bc4\u5b58\u5668\u592a\u591a\u4e86\uff0c\u4f4d\u6570\u4e5f\u591a\uff0c\u6211\u4e00\u76f4\u641e51\u6c47\u7f16\u4e5f\u653e\u5f03\u4e86\u3002C\u8bed\u8a00\u7f16\u7a0b\u533a\u522b\u5c31\u4e0d\u5927\u4e86\uff0c\u51b5\u4e14stm32\u5728\u56fd\u5185\u6280\u672f\u652f\u6301\u5f88\u5230\u4f4d\uff0c\u8d44\u6599\u4e30\u5bcc\uff08\u5173\u952e\u662f\u4e0d\u4f46\u6709E\u6587\uff0c\u4e2d\u6587\u8d44\u6599\u7ffb\u8bd1\u7684\u4e5f\u591a\uff09\uff0c\u8fd8\u6709\u5b8c\u6574\u7684\u5e93\u51fd\u6570\u652f\u6301\uff0c\u4ece51\u8f6c\u8fc7\u53bb\u6ca1\u592a\u5927\u56f0\u96be\u3002\u670951\u76f8\u4f3c\u7535\u8def\u7684\u7a0b\u5e8f\uff0c\u79fb\u690d\u7684\u8bdd\u597d\u591a\u90fd\u4e0d\u7528\u6539\u7684\uff0c\u53ea\u662f\u9488\u5bf9\u5bc4\u5b58\u5668\u3001IO\u53e3\u3001\u4e2d\u65ad\u7b49\u7684\u4fee\u6539\uff0c\u8f6f\u4ef6\u6d41\u7a0b\u3001\u63a7\u5236\u903b\u8f91\u57fa\u672c\u4e0d\u7528\u6539\u3002
\u8bf4\u4e86\u4e00\u5927\u5806\uff0c\u4e0d\u662f\u8bf4stm32\u6709\u591a\u597d\u5b66\uff0c\u8fd8\u662f\u6709\u70b9\u96be\u5ea6\uff0c\u4f46\u6bd4\u8d77\u5b83\u7684\u4f18\u8d8a\u6765\uff0c\u4ed8\u51fa\u662f\u503c\u5f97\u7684\u3002\u5e0c\u671b\u5bf9\u4f60\u6709\u6240\u5e2e\u52a9\u3002

\u4f18\u70b9\u5982\u4e0b\uff1a
1\u3001STM32\u5c5e\u4e8earm\u5185\u6838\u7684\u4e00\u4e2a\u7248\u672c\uff0c\u6bd4\u4f20\u7edf\u768451\u5355\u7247\u673a\u9ad8\u7ea7\u591a\u4e86\uff0c\u6709\u5f88\u591a\u8d44\u6e90\u662f51\u4e0d\u5177\u5907\u7684\uff0c\u5982usb\u63a7\u5236\u5668\u3002\u800c\u4e14\u5df2\u7ecf\u5e9f\u9664\u4e86\u673a\u5668\u5468\u671f\u4ec0\u4e48\u7684\uff0c\u901f\u5ea6\u4e0d\u662f51\u80fd\u6bd4\u7684\u3002
2\u3001STM32\u5355\u7247\u673a\u7a0b\u5e8f\u90fd\u662f\u6a21\u5757\u5316\u7684\uff0c\u63a5\u53e3\u76f8\u5bf9\u7b80\u5355\u4e9b\uff0c\u56e0\u4e3a\u5b83\u81ea\u8eab\u5e26\u597d\u591a\u529f\u80fd\uff0c\u5de5\u4f5c\u901f\u5ea6\u4e5f\u5feb\u3002\u800c51\u7684\u81ea\u8eab\u529f\u80fd\u5c11,\u9700\u8981\u5916\u56f4\u5143\u4ef6\u591a,\u8981\u6c42\u5bf9\u7535\u5b50\u719f\u6089\u3002
3\u3001STM32\u4e92\u8fde\u578b\u7cfb\u5217\u4ea7\u54c1\u5f3a\u5316\u4e86\u97f3\u9891\u6027\u80fd\uff0c\u91c7\u7528\u4e00\u4e2a\u5148\u8fdb\u7684\u9501\u76f8\u73af\u673a\u5236\uff0c\u5b9e\u73b0\u97f3\u9891\u7ea7\u522b\u7684I2S\u901a\u4fe1\u3002\u7ed3\u5408USB\u4e3b\u673a\u6216\u4ece\u673a\u529f\u80fd\uff0cSTM32\u53ef\u4ee5\u4ece\u5916\u90e8\u5b58\u50a8\u5668(U\u76d8\u6216MP3\u64ad\u653e\u5668)\u8bfb\u53d6\u3001\u89e3\u7801\u548c\u8f93\u51fa\u97f3\u9891\u4fe1\u53f7\u3002
4\u3001 STM32 \u7684\u8fd0\u7b97\u901f\u5ea6\u5927\u7ea6\u662f51\u5355\u7247\u673a\u7684\u51e0\u5341\u500d\u5427\uff0c\u800c\u4e14\u5916\u56f4\u63a5\u53e3\u529f\u80fd\u6bd451\u5f3a\u5927\u592a\u591a\u3002
STM32\u662f\u57fa\u4e8eARM® Cortex® M \u5904\u7406\u5668\u5185\u6838\u7684 32\u4f4d\u95ea\u5b58\u5fae\u63a7\u5236\u5668\uff0c\u4e3aMCU\u7528\u6237\u5f00\u8f9f\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u81ea\u7531\u5f00\u53d1\u7a7a\u95f4\uff0c\u5e76\u63d0\u4f9b\u4e86\u5404\u79cd\u6613\u4e8e\u4e0a\u624b\u7684\u8f6f\u786c\u4ef6\u8f85\u52a9\u5de5\u5177\u3002S
TM32 MCU\u878d\u9ad8\u6027\u80fd\u3001\u5b9e\u65f6\u6027\u3001\u6570\u5b57\u4fe1\u53f7\u5904\u7406\u3001\u4f4e\u529f\u8017\u3001\u4f4e\u7535\u538b\u4e8e\u4e00\u8eab\uff0c\u540c\u65f6\u4fdd\u6301\u9ad8\u96c6\u6210\u5ea6\u548c\u5f00\u53d1\u7b80\u6613\u7684\u7279\u70b9\u3002\u4e1a\u5185\u6700\u5f3a\u5927\u7684\u4ea7\u54c1\u9635\u5bb9\uff0c\u57fa\u4e8e\u5de5\u4e1a\u6807\u51c6\u7684\u5904\u7406\u5668\uff0c\u5927\u91cf\u7684\u8f6f\u786c\u4ef6\u5f00\u53d1\u5de5\u5177\uff0c\u8ba9STM32\u5355\u7247\u673a\u6210\u4e3a\u5404\u7c7b\u4e2d\u5c0f\u9879\u76ee\u548c\u5b8c\u6574\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u7684\u7406\u60f3\u9009\u62e9\u3002\u6309\u5185\u6838\u67b6\u6784\u5206\u4e3a\u4e0d\u540c\u4ea7\u54c1\u7cfb\u5217\u3002

1、库函数不同。由ST厂商推出的STM32系列单片机,ST厂商给了丰富的函数库,可以直接使用库函数,所以比起普通的51单片机在程序编写方面要更加的省时。

2、运行速度不同。普通的51单片机运行速度较慢,特别是双数据指针,而STM32系列单片机最高工作频率可达72MHz。

3、便利程度不同。51单片机的任何器件只需要配置寄存器打开就可以进行编程,而STM32系列单片机则需要先打开对应的时钟,包括开启后打开外部时钟(晶振)才开始工作。

4、资源不同。STM32的内部资源(寄存器和外设功能)较普通的51单片机都要多,基本上接近于计算机的CPU了,所以在程序编写上能有更多的选择。

5、编程语言选择不同。STM32基本不会选择汇编语言了,因为工程量巨大,寄存器太多了,位数也多,而51单片机则多使用汇编语言。至于C语言编程方面的区别就不大了。

参考资料来源:百度百科-stm32

参考资料来源:百度百科-51单片机



stm32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、功能强大(外设丰富、管脚多、管脚功能可重映射),优点多多。编程的区别,stm32基本别比划汇编了,能把脑袋搞大大滴,寄存器太多了,位数也多,我一直搞51汇编也放弃了。C语言编程区别就不大了,况且stm32在国内技术支持很到位,资料丰富(关键是不但有E文,中文资料翻译的也多),还有完整的库函数支持,从51转过去没太大困难。有51相似电路的程序,移植的话好多都不用改的,只是针对寄存器、IO口、中断等的修改,软件流程、控制逻辑基本不用改。
说了一大堆,不是说stm32有多好学,还是有点难度,但比起它的优越来,付出是值得的。希望对你有所帮助。

简单的说就是:51一般直接操作寄存器,STM32都采用库函数开发(除非特别需要,一般用户不会直接去操作寄存器)。具体一点可以分为下面几个方面:
1、51单片机一般资源较少,寄存器不多,所以程序设计都采用直接操作寄存器的方式。而STM32通常寄存器有数百甚至上千个,难于记忆,因此官网会提供库函数,用户无需记忆寄存器直接调用库函数即可完成相关功能的配置。
2、51单片机一般用于功能较为简单的应用,软件框架较为简洁,一般不涉及复杂的任务管理,不需要专门的操作系统。STM32一般用于较为复杂的应用,功能较多,软硬件复杂度提高,所以都会采用嵌入式操作系统,比如μCOS、ucLinux等。
3、51单片机中断系统比较简单,没有也不需要额外的中断管理模块。STM32有专门的中断管理模块(NVIC),所有中断都需要对应的NVIC配置。
4、传统51单片机一般只有一个主时钟,最多再加一个看门狗时钟,管理较为简单。STM32各外围设备都有自己的时钟源,且各外围设备的时钟都有独立的开关,应用时需要特别注意时钟管理。比如对于端口操作,传统51直接操作即可,而STM32则必须先开启对应端口的时钟。
另外,51也有增强型的,对于增强型的51内核的单片机,其外围设备要比传统51复杂的多,比如会有触摸、USB等功能,这些芯片厂商也会为用户提供相应的库函数的。

stm32 是后来出现的升级版单片机 性能更强 资源更多 功耗更低,如果是最原始的 看芯片手册寄存器 编程那么没差别,只是stm32的 芯片寄存器比51多十几倍,因为功能多 寄存器当然就多, 但是 st公司也想到这个问题了,所以 stm32 意法半导体 公司有官方的 HAL 库,这个库封装了大量底层的 寄存器操作,吧一系列操作封装为一个个 的 接口函数, 编程直接调用库函数就很简单你,比如你 开启串口 如果用寄存器编程你要一步一步 设置每个关于串口的寄存器,设置时钟等等,估计需要一百多行代码,但是 库函数就调用两个函数就行了 一个 初始化函数 一个设置使能函数就完事了, 两行 最多三时行 对新手很友好,以为串口这么简单 那ing个函数就可以串口通信了。其实是 HAL 库函数 封装了一系列的 串口寄存器操作

优点如下:
1、STM32属于arm内核的一个版本,比传统的51单片机高级多了,有很多资源是51不具备的,如usb控制器。而且已经废除了机器周期什么的,速度不是51能比的。
2、STM32单片机程序都是模块化的,接口相对简单些,因为它自身带好多功能,工作速度也快。而51的自身功能少,需要外围元件多,要求对电子熟悉。
3、STM32互连型系列产品强化了音频性能,采用一个先进的锁相环机制,实现音频级别的I2S通信。结合USB主机或从机功能,STM32可以从外部存储器(U盘或MP3播放器)读取、解码和输出音频信号。
4、 STM32 的运算速度大约是51单片机的几十倍吧,而且外围接口功能比51强大太多。
STM32是基于ARM® Cortex® M 处理器内核的 32位闪存微控制器,为MCU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。S
TM32 MCU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选择。按内核架构分为不同产品系列。

  • 51鍗曠墖鏈哄拰stm32鍖哄埆鏈夊摢閲屽摢涓洿濂
    绛旓細涓銆51鍜宻tm32鍗曠墖鏈鐨勫尯鍒 51鍜宻tm32鐨鍖哄埆杩樻槸鎸哄ぇ鐨勶紝51鏄睘浜庝綆绔崟鐗囨満锛宻tm32绠楁槸涓珮绔崟鐗囨満浜嗭紝浠栦滑闈㈠悜鐨勪骇鍝佷篃涓嶄竴鏍凤紝鐪熻鍖哄埆锛屼竴绡囨枃绔犺繙杩滀笉澶熴傝繖閲屽彧璇村鎴戜滑寮鍙戞伅鎭浉鍏崇殑銆1. 鍐呮牳 51鏄疘ntel8051鐨勫唴鏍告灦鏋勶紝鑰STM32鏈塁ortex-M1/M2/M3/M4/M7杩欎箞澶氬唴鏍哥増鏈紝鍍忔垜浠父鐢ㄧ殑STM32...
  • stm32鍗曠墖鏈哄拰51鍗曠墖鏈鍖哄埆
    绛旓細STM32鍗曠墖鏈哄拰51鍗曠墖鏈鐨勫尯鍒涓嬶細1銆佸鐞嗗櫒鍐呮牳涓嶅悓銆係TM32鍗曠墖鏈洪氬父閲囩敤ARMCortex-M鍐呮牳锛屽Cortex-M3鎴朇ortex-M4锛岃51鍗曠墖鏈哄垯鍩轰簬Intel8051鏋舵瀯銆2銆佸瓨鍌ㄥ閲忎笉鍚屻係TM32鍗曠墖鏈洪氬父鍏锋湁鏇村鐨勭墖涓婂唴瀛橈紝濡傚嚑鍗並B鍒板嚑鐧綤B鐨凢lash鍜屾洿澶氱殑RAM锛屽鐞嗛熷害涓嶅悓銆係TM32鍗曠墖鏈虹殑澶勭悊閫熷害閫氬父鏇村揩锛岃繍绠楄兘鍔...
  • 51鍗曠墖鏈哄拰stm32鍗曠墖鏈鍖哄埆
    绛旓細1銆佸鐞嗗櫒鍐呮牳涓嶅悓锛51鍗曠墖鏈閫氬父閲囩敤8051鍐呮牳锛岃宻tm32閫氬父閲囩敤ARMCortex-M3鎴朇ortex-M4鍐呮牳銆2銆佸瓨鍌ㄥ閲忎笉鍚岋細51鍗曠墖鏈洪氬父鍙湁鍑燢B鐨勭墖涓婂唴瀛橈紝鑰宻tm32閫氬父鏈夊嚑鍗並B鎴栨洿澶氱殑鐗囦笂鍐呭瓨銆3銆佸鐞嗛熷害涓嶅悓锛51鍗曠墖鏈虹殑澶勭悊閫熷害閫氬父杈冩參锛岃stm32鐨澶勭悊閫熷害閫氬父杈冨揩銆4銆佸璁炬暟閲忓拰绉嶇被涓嶅悓锛51鍗曠墖鏈虹殑...
  • stm32鍜51鍗曠墖鏈鐨勫尯鍒
    绛旓細涓銆佹杩 STM32鍜51鍗曠墖鏈鏄袱绉嶄笉鍚岀殑寰帶鍒跺櫒锛屽畠浠湪鎬ц兘銆佸姛鑳藉拰搴旂敤棰嗗煙涓婃湁鏄捐憲鐨勫尯鍒備簩銆佹牳蹇冩ц兘宸紓 1. 澶勭悊鍣ㄦ灦鏋勶細STM32鍩轰簬ARM Cortex-M绯诲垪鍐呮牳锛岃51鍗曠墖鏈洪氬父閲囩敤8浣峂CU鏋舵瀯銆侫RM鏋舵瀯鍦ㄦц兘涓婅繙瓒呬紶缁熺殑8浣嶆灦鏋勶紝浣垮緱STM32鍦ㄦ暟鎹鐞嗗拰杩愮畻鑳藉姏涓婃洿鍏蜂紭鍔裤2. 杩愯閫熷害鍜屾晥鐜囷細STM...
  • 51鍗曠墖鏈哄拰STM32鍗曠墖鏈鏈変粈涔堝尯鍒?
    绛旓細鍖哄埆锛1銆佽缃笉鍚屻俴eil4杞欢涓紝璁剧疆Preprocessor Symnols涓嬬殑Define锛stm32f103c8鐢細STM32F10X_HD,USE_STDPERIPH_DRIVER椹卞姩锛宻tm32f103c8鐢細STM32F10X_HD,USE_STDPERIPH_DRIVER椹卞姩銆2銆侀棯瀛樺瓨鍌ㄥ櫒涓嶅悓銆俿tm32f103c6鏄32kFlash锛岃宻tm32f103c8鏄64kFlash銆傝櫧鐒剁幇鍦鐨勫崟鐗囨満鍙互閫氳繃澶栧姞Flash鑺墖...
  • stm32涓51鍗曠墖鏈鍖哄埆
    绛旓細鍏充簬stm32涓51鍗曠墖鏈鍖哄埆锛1銆佸唴鏍革細51鍗曠墖鏈洪噰鐢ㄧ殑鏄51 Core锛8Bit@2MHz Max锛堝垎棰戝悗锛夛紝0.06DMIPS锛汼TM32閲囩敤鐨勬槸ARM Cortex-M3锛32Bit@72MHz 锛1.25DMIPS锛2銆佸湴鍧绌洪棿锛51鍗曠墖鏈哄彧鏈64KB锛汼TM32鏈4GB锛3銆佺墖涓婂偍瀛樺櫒锛51鍗曠墖鏈篟OM鍙湁2K-64K锛孯AM浠呬负128B-1K锛汼TM32鐨凴OM涓20K-1MB锛孯AM...
  • STM32鍗曠墖鏈哄拰51鍗曠墖鏈宸埆澶у悧,鏈夐偅浜涘樊鍒,鏈濂藉彲浠ヤ妇渚嬭鏄庝竴涓,璋㈣阿...
    绛旓細鎬ц兘锛歋TM32鐨勫鐞嗚兘鍔涜姣51鍗曠墖鏈哄己寰楀锛屽畠鐨勪富棰戝彲浠ヨ揪鍒200MHz鐢氳嚦鏇撮珮锛岃51鍗曠墖鏈虹殑涓婚閫氬父鍦20MHz宸﹀彸銆傚鐞嗗櫒鏋舵瀯锛歋TM32鍩轰簬ARMCortex-M澶勭悊鍣ㄦ灦鏋勶紝鑰51鍗曠墖鏈烘槸鍩轰簬8浣嶇殑MCU鏋舵瀯銆傜敱浜嶢RMCortex鈥擬鍏锋湁鏇撮珮鐨勬ц兘鍜屾洿澶氱殑鍔熻兘锛屽洜姝TM32鍦ㄥ鐞嗗櫒鎬ц兘鏂归潰鏇村姞鍑鸿壊銆stm32鍜51鍗曠墖鏈鐨勫尯鍒涓...
  • stm32鍜51鍗曠墖鏈鐨勫尯鍒
    绛旓細stm32鍜51鍗曠墖鏈鐨勫尯鍒涓嬶細STM32绯诲垪鍩轰簬涓撲负瑕佹眰楂樻ц兘銆佷綆鎴愭湰銆佷綆鍔熻楃殑宓屽叆寮忓簲鐢ㄤ笓闂ㄨ璁$殑ARMCortex-M3鍐呮牳銆傛寜鎬ц兘鍒嗘垚涓や釜涓嶅悓鐨勭郴鍒楋細STM32F103鈥滃寮哄瀷鈥濈郴鍒楀拰STM32F101鈥滃熀鏈瀷鈥濈郴鍒椼俿tm32鍜51鍗曠墖鏈虹殑鍖哄埆鏈夊鐞嗗櫒鏋舵瀯銆佸鐞嗗櫒閫熷害銆佸瓨鍌ㄥ櫒銆侀氫俊鎺ュ彛銆佸紑鍙戠幆澧冦佹垚鏈瓑銆傚鐞嗗櫒鏋舵瀯锛歋TM...
  • stm32璺熸櫘閫氱殑51鍗曠墖鏈哄湪绋嬪簭缂栧啓鏂归潰鏈変粈涔堝尯鍒?
    绛旓細1銆佸簱鍑芥暟涓嶅悓銆傜敱ST鍘傚晢鎺ㄥ嚭鐨STM32绯诲垪鍗曠墖鏈猴紝ST鍘傚晢缁欎簡涓板瘜鐨勫嚱鏁板簱锛屽彲浠ョ洿鎺ヤ娇鐢ㄥ簱鍑芥暟锛屾墍浠ユ瘮璧鏅氱殑51鍗曠墖鏈哄湪绋嬪簭缂栧啓鏂归潰瑕佹洿鍔犵殑鐪佹椂銆2銆佽繍琛岄熷害涓嶅悓銆傛櫘閫氱殑51鍗曠墖鏈鸿繍琛岄熷害杈冩參锛岀壒鍒槸鍙屾暟鎹寚閽堬紝鑰孲TM32绯诲垪鍗曠墖鏈烘渶楂樺伐浣滈鐜囧彲杈72MHz銆3銆佷究鍒╃▼搴︿笉鍚屻51鍗曠墖鏈虹殑浠讳綍鍣ㄤ欢鍙...
  • stm32鍜51鍗曠墖鏈鐨勫尯鍒
    绛旓細1銆佸鐞嗗櫒鏋舵瀯锛歋TM32鍩轰簬ARM Cortex-M澶勭悊鍣ㄦ灦鏋勶紝鑰51鍗曠墖鏈鏄熀浜8浣嶇殑MCU鏋舵瀯銆傜敱浜嶢RM Cortex鈥擬鍏锋湁鏇撮珮鐨勬ц兘鍜屾洿澶氱殑鍔熻兘锛屽洜姝STM32鍦澶勭悊鍣ㄦц兘鏂归潰鏇村姞鍑鸿壊銆2銆佸鐞嗗櫒閫熷害锛STM32鐨澶勭悊鍣ㄩ熷害閫氬父姣51鍗曠墖鏈烘洿蹇傜敱浜嶴TM32閲囩敤浜嗘洿鍏堣繘鐨勫鐞嗗櫒鏋舵瀯鍜屾洿澶氱殑鍔熻兘锛屽洜姝ゅ叾澶勭悊鍣ㄩ熷害鏇村揩锛...
  • 扩展阅读:51单片机难还是stm32难 ... 不学51可以直接学stm32吗 ... stm32电子琴普通io口输出 ... 入门单片机推荐 ... stm32怎么给io口高低电平 ... 基于stm32的简单小项目 ... stm32为什么不建议学 ... 为什么选择stm32而不是51 ... 先学51还是直接学stm32 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网