【问题标题】:How to use a microcontroller that has no RAM?如何使用没有 RAM 的微控制器?
【发布时间】:2020-04-08 02:29:08
【问题描述】:

一些微控制器 (such as the ATtiny12) 根本没有 SRAM。怎么可能让他们做任何有用的事情呢?为什么会有人制造这种有限的设备?

我能想到的对没有 RAM 的芯片进行编程的唯一方法是使用某种原始状态机,其中程序计数器的当前值基本上定义了状态。例如:

Do
  Wait for button press
  Illuminate the LED
  Wait for button release
  Extinguish the LED
Loop

我不是想解决一个特定的问题,我只是好奇。没有记忆可以实现更复杂的事情吗?我试过谷歌搜索,没有有用的结果。

我错过了什么吗?

【问题讨论】:

  • 您可能没有 SRAM,但它确实有寄存器——而且数量相当多。仔细使用,您可以像变量一样使用它们,并使用 EEPROM 来保存一些数据。总之,你可以做很多事情。 :-)
  • 嘿@JohnSzakmeister,请给出答案,以便我投票。
  • 好点。我在数据表中看到它说“32 个通用工作寄存器”。我想这与 RAM 几乎相同,并且完全改变了游戏。做出回答,我会接受的:)
  • 您也应该忘记将 C 用于此类有限的 MCU。我在 C 语言中使用 Freescale RS08 做了一些鬼混,这是另一个非常有限的没有堆栈的。不漂亮。不知道他们为什么还要麻烦将 C 编译器移植到它。

标签: memory embedded microcontroller ram


【解决方案1】:

您可能没有 SRAM,但它确实有寄存器——而且数量相当多。小心使用,您可以像变量一样使用它们,并使用 EEPROM 来保存一些数据。总之,你可以做很多事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多