『壹』 51单片机和STM32有什么区别编程语言也可以用汇编语言吗
1.数据总线宽度不一样,数据总线宽度越宽,处理速度越快。2.汇编指令集不同,51是mcs51指令集,stm32是arm指令集。指令集内容相似,但是形式上还是有较大差距。3.51更便宜,性价比更高,懂得人也更多。4.仿真环境不一样,仿真器也不一样。5.51没有知识产权问题,专利已经过期了。6.发展节奏不一样,51现在是跟跑,STM32是领跑。相似点:都可以用汇编和C语言。建议从单片基本功能开始学起,首先从点亮一颗LED开始,然后是流水灯、中断等单片各种外设。先把基本功练好,后面才能爬得更高,张飞实战电子的单
『贰』 stm32跟普通的51单片机在程序编写方面有什么区别
1、库函数不同。由ST厂商推出的STM32系列单片机,ST厂商给了丰富的函数库,可以直接使用库函数,所以比起普通的51单片机在程序编写方面要更加的省时。
2、运行速度不同。普通的51单片机运行速度较慢,特别是双数据指针,而STM32系列单片机最高工作频率可达72MHz。
3、便利程度不同。51单片机的任何器件只需要配置寄存器打开就可以进行编程,而STM32系列单片机则需要先打开对应的时钟,包括开启后打开外部时钟(晶振)才开始工作。
4、资源不同。STM32的内部资源(寄存器和外设功能)较普通的51单片机都要多,基本上接近于计算机的CPU了,所以在程序编写上能有更多的选择。
5、编程语言选择不同。STM32基本不会选择汇编语言了,因为工程量巨大,寄存器太多了,位数也多,而51单片机则多使用汇编语言。至于C语言编程方面的区别就不大了。
参考资料来源:网络-stm32
参考资料来源:网络-51单片机
『叁』 有谁知道:stm32是用C编程好,还是C++编程好如果用C++编程速度会不会变慢
人有多大力就办多大事”,STM32的功能远比51、AVR之类的单片机要强大得多,相对来说开发的产品功能比较大,代码也会比较复杂。
首先有完整的框架是非常必须的,我个人认为这里的框架有两层,一个是在STM32上移植现有的操作系统或者一些稳定的代码框架,另外一个是自己的编程风格。
你想很方便的开发相对复杂的东西,建议你首先在STM32上移植一个小型操作系统或一种框架,然后在操作系统之上编写你自己的应用去开发产品。在没有操作系统或框架的情况下开发是非常麻烦的事情。要做到条理清晰的话,那就应该去迎合操作系统或框架的风格去编写代码,这答案并不唯一。 举个简单例子,现在比较热门的STM32F103或STM32F407开发产品,一般会移植一个ucosii或rt-thread操作系统(当然也有移植linux或android的,但我个人很少见),ucosii我没实际开发过我就不说了,像rt-thread这样的实时操作系统,它具有多任务编程,那么我们就需要迎合它的特点,比如我串口作为一个线程,LCD、LED扫描作为一个线程,数据采集作为一个线程,键盘扫描作为一个线程等等,在他们的线程中只各自做自己的事情,然后在增加一个顶层的线程专门来负责处理其他线程所产生的消息事件(或者给其他各线程发送消息事件),顶层的线程是作为一个中心处理线程来合理安排和处理其他各个线程的消息事件。
至于在这方面的提升,只能是通过实践来达到效果,这里的“实践”不是说要完全自己去摸索,你需要有东西来借鉴,因为现在一些操作系统、或框架、或编程风格都是比较成熟,你直接拿来看,看看别人是怎么写的代码,然后自己再去仿照着能不能写的出来,再分析里面的优缺点。你要是还在学校且资源有限,建议你可以花个几百块钱上淘宝买一个开发板,一般的开发板都有各个外设的实验,以及综合实验,或许还会有操作系统或框架的移植和使用