C++ 在哪里学习硬件编程?

C++ 在哪里学习硬件编程?,c++,c,embedded,hardware,C++,C,Embedded,Hardware,我一直在做一些网络开发,现在我想进一步了解编程,所以,这些硬件编程的东西让我很兴奋。我找不到合适的地方开始学习这个过程。你能提供更好的地方吗?我想更好地了解C或C++做硬件编程。有什么地方可以让我从一开始就学到知识吗 谢谢。如果您想在硬件附近编写代码,在默认情况下使用类似于C的编程语言的应用程序周围会有很多嗡嗡声。您可能想了解一下。我们在大学时曾经编写过s。这是相当低级的,因为您正在连接逻辑门以生成算法,并且还必须注意计时。我不知道这是否真的是你想要的,也不知道现在是否有更好的工具来做这类事情,

我一直在做一些网络开发,现在我想进一步了解编程,所以,这些硬件编程的东西让我很兴奋。我找不到合适的地方开始学习这个过程。你能提供更好的地方吗?我想更好地了解C或C++做硬件编程。有什么地方可以让我从一开始就学到知识吗


谢谢。

如果您想在硬件附近编写代码,在默认情况下使用类似于C的编程语言的应用程序周围会有很多嗡嗡声。

您可能想了解一下。

我们在大学时曾经编写过s。这是相当低级的,因为您正在连接逻辑门以生成算法,并且还必须注意计时。我不知道这是否真的是你想要的,也不知道现在是否有更好的工具来做这类事情,但我认为它应该给你一个很好的起点。

也许开发工具包是最好的起点。工具包中通常有C或asm编译器、文档、示例、电缆和开发板。
有了开发工具包,就不需要了解操作系统的设备驱动程序。因此,这很容易开始。

有一些电路板,你可以花10美元或更少的钱买到,这些电路板上有LED之类的东西,你可以从舒适的编程开始,然后扩展这些知识。在github,我有许多低于100美元(通常低于50美元)的电路板的示例程序

例如,msp430启动板的售价为4.30美元,而stm32价值线发现大约为10美元

我没有在github发布arduino示例,尽管我在世界上有许多基于avr的示例。arduino可能是你想花一些时间的地方,有一长串的东西可以插入arduino板,在arduino行话中称为“盾牌”。你可以做无线技术,机器人技术,gps技术。他们似乎在创建用户友好的C(/C++?)和api调用环境等方面做得很好。sparkfun.com是各种嵌入式开发/评估板以及许多arduino项目(当然不是所有这些)的好地方。ti.com是msp430和stellaris系列ARM cortex-m设备的发源地。stellaris系列的eval板上塞满了可以学习编程的外围设备

如果您不喜欢这种深度嵌入,并且希望使用操作系统运行。系统的价格在100美元到300美元之间,但它们确实存在,例如embeddedarm.com和gumstix(请注意,例如robovero并不是一个成熟的linux平台,它更接近我上面描述的基于微控制器的平台)

在刚刚启动处理器的基础知识之后,您需要了解的是spi和i2c以及其他类似的通用接口。有些控制器有专门的硬件为你做肮脏的工作,有些你只是简单的一点点。学习BitBang这些是至关重要的,因为即使在您的台式机或笔记本电脑中,linux驱动程序中也有i2c接口

预计会杀死一些硬件,或者是通过砌砖电路板使其无法启动且无法恢复,或者是字面上的“让烟从某些部件中冒出来”。简言之,我绝对不会为这项教育在一个单一的董事会/平台上投资300美元或类似的东西。你可以买很多25美元的板子,在学习的时候把它们大部分扔掉。为了以防万一,我几乎每次都会买两个。这些天我通常不让烟冒出来,而是用砖砌了一些木板。当您开始制作自己的引导加载程序时,这是一个风险。这类似于编写桌面应用程序,偶尔会意外地覆盖输出文件,或者打开一个您想要读取的文件作为打开写入文件,然后丢失该文件,诸如此类的事情都会发生


msp430启动板非常便宜,可能只需要一个或几个,一个非常好的指令集,等等。你可能会适应arduino,arduino uno是不错的第一块板,arm端的mbed也不错,你根本不需要使用他们基于web的东西,你可以使用任何你想要的编译器。Arm在处理器市场占据主导地位,每秒钟或每第三件带有开/关开关的东西(包括越来越多的基于Intel的笔记本电脑)都有一个或多个Arm在运行某些东西。avr远非如此,也不会如此,它主宰着业余爱好市场,但不是世界其他地方,因此arm知识在某个时候会让你受益匪浅。

你所说的硬件编程到底是什么意思?你能举出一些例子吗?我的意思是在电路板上编程来完成一些特定的任务,比如用电动机之类的东西来移动某些部件。比如给小机器人编程?对于初学者来说,你更喜欢什么来获得编程这一部分的基本知识?我能从Arduino学习基础知识吗?还是适合已经熟悉硬件编程的人?Arduino非常适合初学者学习如何编程微控制器。请参阅altera devkit页面: