我很抱歉,如果这是一个重复,即使我在这里搜索了一个类似的问题,我只找到一个。
因此,我在工程系的编程团队目前使用32位72 M3 Cortex-M3微处理器。我们都是高中的高年级学生,我们很难使用图书馆和诸如此类的东西,主要是因为我们使用的Bioloid Premium的制造商的文件很差。然而,我们即将购买一个8位16 more微控制器,因为它有更广泛的在线支持和更容易使用的库+更多的文档。我在这里的问题是,减少的位数以及较低的处理器速度对我们真的很重要吗?我们不会做大量的过程密集型编程,但更像是一个基本的机器人类。那么,8位16 M3微处理器和32位72 M3 Cortex-M3微处理器的主要区别是什么?此外,(如果它具有任何相关性):
我在谷歌上搜索了一下,找出了比特计数是什么,以及更多关于它对处理器速度的影响的信息,但没有多少文件给出了清晰而简洁的答案,这就是我来这里的原因,因为这是为了给出清晰而简洁的答案。(所以,请不要告诉我在过去的二十分钟里用谷歌搜索它。)
发布于 2013-03-26 14:32:06
我在这里的问题是,减少的位数以及较低的处理器速度对我们真的很重要吗?那么,8位16 M3微处理器和32位72 M3 Cortex-M3微处理器的主要区别是什么?
多酷的项目啊!这是一个很好的机会来了解一下处理器是如何工作的,以及位宽和时钟速度意味着什么。
时钟速度在概念上是最容易理解的。像AVR和ARM这样的微控制器使用时钟晶体来设置电路工作的速度。有了更快的时钟,处理器就可以在相同的时间内执行更多的指令。72 The时钟是16 the时钟的4倍以上,因此ARM处理器的运行速度将比AVR快4倍。但是“跑得更快”到底是什么意思呢?处理器执行指令。在基本水平上,这些指令是“添加两个数字”和“使这个引脚上的电压高”。ARM处理器在这里的速度要快得多,但考虑一下它将与哪些硬件对话: servos。伺服电机听的是一个相当低速的PWM信号,所以在这个速度下,72 the和16 the之间的差别不会变得那么重要。
但比特宽度呢?这个有点棘手。它不会真正影响处理器的运行速度,但会影响它执行的指令的复杂性。假设你想把两个很大的数字加在一起。数字大约是10万和20万。当我们在纸上把这些加在一起时,这只是一步。但是像AVR这样的8位处理器只能对65,536个数字进行运算.因此,为了对这么大的数字进行运算,需要将加法分解成几个较小的步骤。另一方面,32位的手臂可以工作在那么大的数字上。因此,它在一步内完成了加法。我希望这是有意义的。
无论如何,我在比你的16 AVR更慢的处理器上做了很多伺服系统的工作。它很可能只是你想要做的事情,就像你发现它有一个更活跃的爱好者社区一样。如果您正在寻找快速的代码示例,那么康奈尔4760页有一些您可以从中学习的优秀项目。
发布于 2013-03-22 06:32:17
我们正在使用由Robotis w/ CM530 (ARM)提供的,即将切换到CM510 (AVR)。我们将使用嵌入式C,而不是Robotis的RoboPlus IDE作为指令集。
我环顾了一下你提到的产品,你的问题似乎忽略了你真正应该关注的问题。
看上去很可爱,所有的部件都放在一起并配置好了。很多机器人课程通常都与硬件设计有关。你不会这么做的。因此,您的任务实际上是编程给您的硬件。
尽管如此,RoboPlus IDE与使用AVR编写C代码之间有着天壤之别,这似乎类似于乐高思维风暴拖放界面!
我以前使用过AVR,但最近版本发生了重大变化。您可能需要修改示例程序以在最新版本中工作,并且可能需要一些帮助。
看起来他们为您提供了足够的示例代码来使用围护程序,但我看不出如何立即编写main()函数来执行类似于计划的操作。也许,网上有一些例子。
但是要回答您的问题,您可能不会在处理器容量方面遇到任何限制。他们转而使用更便宜、功能更强大的处理器来编写新版本的控制软件,但旧的硬件也会很棒。在C中工作,您将熟悉如何实际使用MCU,这些知识将转移到其他芯片。AVR家族是一个伟大的开始。它有很多特性,并且在它的工作方式上非常明智,有了大量的文档和第三方支持。当然,下载数据表从Atmel为您正在使用的芯片,虽然它是一个密集和困难的阅读。你只需要阅读其中的一部分。另外,请查看AVR怪物论坛。
听起来这是一门很棒的高中课程。玩得开心点!
https://stackoverflow.com/questions/15548139
复制相似问题