返回首页 | 品牌大全 | 品牌排行 | 品牌问答 | 品牌资讯 | 品牌价值 | 关于我们 | 联系我们 | 免责声明
Copyright 2013-2020 品牌门户,牌子网(www.paizi.com) 版权所有 备案号:皖ICP备2022016612号 渝公网安备 50011302000368号
单片机能直接驱动步进电机吗
1个回答
扩展问答
首先是位数上的区别,单片机一般是8位的(也有4位和16位的单片机,但是种类比较少),ARM一般是32位的。
其次是功能上的区别,这个区别其实有些牵强,ARM一般有更多的功能模块和更大的程序空间、数据空间,而单片机的功能和空间相对小一些(对于高端单片机来说,它的功能模块与ARM已经不相上下了)。
二、单片机和ARM在软件上的区别
单片机和ARM最大的区别是:ARM引入了操作系统。引入操作系统的好处是
1、方便
ARM引入了操作系统主要体现在后期开发上,即在操作系统上开发应用程序。而单片机的程序每次都要重新写。
2、安全
这是linux的特点,linux的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统崩溃。单片机的软件开发中做不到这些。
3、高效
引入进程的管理调度系统,使系统的运行更加高效。单片机开发中大多基于中断的前、后台技术,对多任务的管理有局限性。
对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。
第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。
第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。
高级语言无法实现精确的时序控制。
C语言是一个折中选择
其实用C语言开发单片机也是一个折中方案,因为最适合单片机开发的编程语言实在太过晦涩难懂,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,还不如重新写一遍程序。
而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位
热门问答
最新问答