编程微控制器8位,16位,32位有什么区别?

时间:2016-12-28 14:39:10

标签: microcontroller

人们总是想要一位能够编程/拥有8位,16位和32位控制器经验的工程师。当我们编程8,16,32位微控制器时,我仍然无法弄清楚是否存在巨大差异?或者它在声明变量方面有所不同......

1 个答案:

答案 0 :(得分:1)

与Weather Vane的评论相似。驾驶小型紧凑型轿车,皮卡车,移动货车和半卡车(牵引车 - 拖车)是否有区别?嗯,在很多方面它们都是一样的,汽油,刹车,方向盘,座椅,车门,车窗,收音机,前大灯,所有那些东西,你刹车,汽油和转向。你能用智能车搬家吗?好吧不是一切,虽然你可能会得到一张床和沙发的小拖车,但你可以一次移动一两个箱子并进行大量的旅行,减少旅行的次数,半个可能一次旅行取决于多少你有的东西。

如果你正在编程像C这样的高水平,那么最初它会感觉相同,气体,刹车,转向。但这就像是多次旅行来搬动你的东西或一些或一个。一般来说,你可以使用8位处理器进行64位数学运算,16位,我们知道32位因为我们一直这样做,自然就是64位。它只需要更多的行程,你必须将数学分成几部分并一次做一个部分。自然而然地,如果使用你的法令来移动公寓中的东西,那么使用卡车需要花费更多的时间。

在这里看到有人在Microchip PIC上使用浮点,经常看到(浮在微控制器上),如果编译器有一个库,它允许人们尝试它,但它们很快就会耗尽闪存和/或公羊,他们的表现很糟糕。

因此,在某些方面,它是关于知道变量与Windows或Linux上使用的大小不同,事情需要更长时间,资源更少,调试是或者可能有点不同,比如走出你的大众汽车臭虫,这是你驾驶过的唯一一辆汽车,然后进入皮卡车或搬运车,每次转弯时剪掉路缘或停放的汽车,不能停在灯光下等等。最终你会习惯的。与移动卡车不同的是,当你搞砸时,你通常不会伤害处理器中的碎片,你可以让软件冒烟并确定系统,但希望更多时候程序不会构建或运行或运行速度很慢而且你不会每次都要坐在拐角处的行人上跑去监狱。

在这个时代(实际上很长一段时间,但现在非常微不足道)你可以找到各种模拟器/模拟器,你可以尝试感受这些平台。性能可能是不正确的,但是如果你只有1024字节的ram和几千字节的闪存,你就会立即感受到这一点,并想知道为什么只有几行高级代码会消耗这么多指令。理解可能在8位mcu上的事情我应该使用大多数8位变量,所以我不会烧掉这么多代码(除非编译器弄清楚,仍然浪费),同样在16使用大多数16位和32位大多数32位。 (尝试"保存"更大平台上的内存实际上可能会花费更多周期,必须签名扩展或剪辑每个操作,如果它没有本机指令或添加额外的指令来执行该符号扩展或剪辑)