【发布时间】: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