Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Embedded 微控制器需要一些指导(初学者)_Embedded_Arduino_Pic - Fatal编程技术网

Embedded 微控制器需要一些指导(初学者)

Embedded 微控制器需要一些指导(初学者),embedded,arduino,pic,Embedded,Arduino,Pic,你好,我真的找不到我要找的信息,所以我决定问一下。我希望进入嵌入式编程使用微控制器,但我不知道从哪里开始。可能的选择是巨大的。最终我的目标是开始一个爱好项目,最终开发我自己的微型嵌入式操作系统 考虑到这个目标,你会推荐什么控制器 应允许使用ASM(我想了解处理器如何工作) 在你能用它创造什么方面有相当大的灵活性。例如,用它建造一台微型计算机 有坚实的资源供初学者学习 由于受欢迎,我倾向于使用Arduino,但我听说这张照片也不错。这听起来可能很时髦。但是Arduino非常适合初学者。它的IDE使

你好,我真的找不到我要找的信息,所以我决定问一下。我希望进入嵌入式编程使用微控制器,但我不知道从哪里开始。可能的选择是巨大的。最终我的目标是开始一个爱好项目,最终开发我自己的微型嵌入式操作系统

考虑到这个目标,你会推荐什么控制器

  • 应允许使用ASM(我想了解处理器如何工作)
  • 在你能用它创造什么方面有相当大的灵活性。例如,用它建造一台微型计算机
  • 有坚实的资源供初学者学习

  • 由于受欢迎,我倾向于使用Arduino,但我听说这张照片也不错。

    这听起来可能很时髦。但是Arduino非常适合初学者。它的IDE使事情变得简单。您可以包括程序集或编写自己的C++。作为gcc顶部的包装器,它提供与较大芯片相同的底层工作。这样,当您成长为MAKE和Eclipse时,就可以从方便的IDE中学习您的技能。同时也为更大的芯片提供了一条很好的路径


    拿起其他库,调整它们,让你的手指变脏。关于Arduino的要点是它不是一个微控制器。这是一个针对板和开发工具的开放硬件/开源项目,使学习和创建嵌入式系统变得简单。在这种程度上,它可能满足您的需求

    Arduino最初使用的是AtmelAVR微型控制器,不过新的控制器使用的是Atmel SAM3X8E手臂Cortex-M3

    在这种程度上,我会推荐一种ARM设备,因此Arduino可能适合您,但是ARM的许多其他板设计具有类似的支持生态系统,例如,和非常低的成本。后者已经是一台运行Linux的“小型计算机”,因此可能过于抽象,不便于学习嵌入式系统和微控制器

    使用ARM的优势在于它无处不在,从10兆赫的性能和小型RAM/Flash部件到运行>1GGz的应用处理器。ARM不制造印章,他们将架构许可给其他制造商,因此许多供应商使用不同的专有外围设备集制造ARM部件,并针对不同的目标应用程序,因此您总能找到符合您需求的ARM部件


    我不一定推荐PIC,零件由单一供应商制造,指令集不一致,PIC18、PIC16、PIC18、PIC24和PIC32之间存在显著的架构差异,后者实际上与前面的PIC架构完全不同。低端PIC设备不太适合高级语言开发。虽然这可能使学习汇编程序变得容易,但它确实出现妥协时,编码在C或C++。AtmelAVR(在ARDUIO中使用)另一方面有一个专门设计用来支持高效的C和C++编译的指令集。ARM板可能是一个更好的选择。我倾向于同意你的评论,但ARM更难让你从第一时间的角度出发,因为它增加了复杂性。除非有很好的入门文档。按照复杂性的顺序,我想说Arduino对于初学者来说是最容易的,而且与爱好相关。更复杂但对初学者来说仍然非常容易理解的是图片。它们允许你从一个芯片开始构建,并包括硬件和软件学习。最复杂的可能是ARM芯片,但它们也是最强大的,只有当你打算进入大型多任务或图形应用程序时才需要。你可以用Arduino或PIC做很多事情。你会说Arduino/PIC可以做一个非常简单的操作系统,可能只有少量的功能,或者一个简单的设备可以做一个8位gameboy风格的游戏?这些只是一些想法,因为在我达到这一点之前,我有很多东西要学。我在Arduino方面说的不多,但我已经用图片做了很多工作,你可以开始用小的8位图片来学习,这些图片可以直接插入到实验板上进行学习。当你越来越舒适时,你可以一直工作到32位图片。我有一个带有PIC32的开发板,它可以同时处理HTTP web请求,为USB端口提供服务,并向SD卡进行文件I/O,因此它们的功能非常强大。如果你最终选择PIC路线,我很乐意在我能提供帮助的地方提供帮助。查看我的个人资料以获取电子邮件地址。祝你好运。你的观点很好,但我可能会选择make/console/vim风格的开发,因为我已经习惯了这个工具链。您确实对Arduino的灵活性有很大的了解。Arduino很棒,对于初学者来说入门非常简单,但是请注意,IDE在简单性的背后隐藏了大量的工具链复杂性。如果你想躲起来,那可真是一大飞跃。