代码之家  ›  专栏  ›  技术社区  ›  Benoit

为了学习嵌入式编程基础,您可以做哪些简单的项目?[关闭]

  •  8
  • Benoit  · 技术社区  · 16 年前

    对于那些想学习嵌入式编程基础知识的人来说,他们可以处理哪些简单的项目?

    我们谈论的是一个了解电子电路基础知识(电阻、电容、数字集成电路等)并能进行基本焊接的人。一个电子爱好者,正在寻求进入嵌入式编程,或可能是一个大二或大三的EE大学学位。

    平台并不重要,语言也不重要(它可以是C语言、汇编语言或其他语言)。关键是要获得一个简单的项目的想法 某物 .

    如果有一本这样的书,你能贴一个链接吗?

    7 回复  |  直到 15 年前
        1
  •  6
  •   coledot    16 年前

    我买了一个 Arduino 最近,它很容易启动和运行。这是一个小的,相当便宜的板运行一个ATMEga168与I/O断开,电源,USB和其他有趣的东西。它运行本机C代码(正如人们对atmega芯片所期望的那样),可以用来通过软件驱动电路。

        2
  •  4
  •   Justin Tanner    16 年前

    下面的项目是为CSC460:维多利亚大学实时操作系统课程。本项目旨在让不了解嵌入式系统的CS学生在微控制器上进行舒适的编程。

    目标:

    设计了一种控制室内温度的传感器-执行器系统。这个项目会教你 pulse width modulation 和AD(模拟到数字)转换。

    部分:

    • 一位8位 AT90USB1287 微控制器演示板
    • 一个温度传感器(AT90上)
    • 一台直流电机(对3.3V和5.0V之间的电压敏感)
    • 适合直流电机的螺旋桨或风扇叶片
    • L293D H桥
    • 一个5伏调节器

    设计:

    该系统将使用AT90USB1287的温度传感器读取当前的室温并调整直流电机的速度(附带风扇叶片)。通过调整风扇速度,理论上可以冷却房间。

    温度传感器已经安装在AT90USB1287上,并连接到微控制器的AD端口。您需要阅读此微控制器的数据表并编写代码以配置和轮询温度传感器。

    直流电机采用脉宽调制控制。脉宽调制可以通过改变脉宽调制信号的占空比来控制附加直流电机的速度。有关PWM的更多信息,请查阅大而详细的(可能有点太多) data sheet 适用于AT90USB1287。

    一旦你的温度传感器和直流电机工作,你就完成了这个项目。L293D H桥和5V调节器可用于增加直流电机的功率(从车载3.3V到H桥5.0V)。

        3
  •  2
  •   Nick Zalutskiy    16 年前

    根据我的经验,如果你愿意的话,在很难克服的嵌入式系统中有一个初步的学习“驼峰”,但是一旦你做到了。 如果你选择的第一个项目非常简单,你会很失望的 .

    在开发工具上有一些初始投资(即芯片和程序员的投资最低)。构建一个非常简单的项目不会让你探索芯片中更有用的领域,因此你将获得的知识量将与你投资的资源量不成比例,无论是时间还是金钱。

    我建议做一些比闪烁的LED更吸引人的事情。对于我来说,为一个新的嵌入式平台开发的最困难的部分,总是得到最初的编译并将第一个程序上传到芯片上。由于这一步是相同的,无论您的第一个项目有多复杂或多么简单,我再次强烈投票赞成立即开始一个中等复杂的项目。我想到了红外遥控器。在任何情况下,如果你真的想学习任何东西,都需要投入大量的时间。

    我也建议不要买像基本图章甚至是Arduino之类的东西,因为这些设备不会教你做嵌入式编程所需的真正技能。它们更像是一个运行高级代码的平台。你正在使用这样一个平台的荣耀版本来阅读这篇文章,你的个人电脑;几乎不是一个嵌入式设备。另外,如果你不熟悉电子学,它们可以帮你省去很多麻烦。

    得到一个由微芯片或Atmel制造的8位芯片,这两种芯片都非常流行,而且启动起来相对便宜,得到一个程序员,也许还有一个演示板,如果你不熟悉电子产品,演示板就可以工作,对于其中一个芯片。最重要的是,阅读随附的数据表,并尝试构建一些适当有用的东西。用C或汇编程序。Atmel在编译器和对C的支持方面要好得多。从长远来看,你会很高兴没有浪费时间去学习一个没有人会用在商业产品上的平台,你会更好地理解嵌入式系统的局限性,因为没有比这更好的信息来源了。数据表。

        5
  •  1
  •   Steve Hawkins    16 年前

    有一本关于“嵌入式LinuxPrimer”主题的好书(作者是克里斯托弗·哈利南)。本书将带您了解在嵌入式Linux平台上开发软件的要点和要点。再加上一个相对便宜的开发系统和天空的限制。

    拿起一本Circuit Cellar杂志(一本非常好的嵌入式软件和硬件资源),你会发现许多小系统的广告,这些广告应该能让你快速启动和运行。

        6
  •  0
  •   Benoit    16 年前

    一个简单的项目(类似于Hello World)是制作一个LED追踪器。 您需要:6到10个LED和一个简单的开关。

    每次按下开关,LED都以不同的模式闪烁。一些模式:
    1个LED向右滚动
    1个LED向左滚动
    交替发光二极管

    这将教您如何使用I/O管脚,如何使用计时器,或者如何使用交换机的中断(或者您可以使用轮询)。

        7
  •  0
  •   Frank Krueger    16 年前

    就我个人而言,我会做一个简单的录音机。让我们练习使用AD转换器和PWM波输出。此外,它还将教授如何模块化代码,以便进行记录和回放控制。唯一的限制是内存量,但即使是1 KB的示例也应该很有趣。