【发布时间】:2017-09-15 10:13:30
【问题描述】:
除了基础知识外,我没有太多编程经验,但我正在编写一系列灯,以便在达到特定时间时打开和关闭。但是我不断收到程序内存使用溢出:
程序内存使用:2066 字节 100.9 % 已满(内存溢出) 数据内存使用:1 个字节 0.8 % Full
谁能指出正确的方向,这意味着什么以及如何处理它?
【问题讨论】:
-
分享你的代码?
标签: atmelstudio
除了基础知识外,我没有太多编程经验,但我正在编写一系列灯,以便在达到特定时间时打开和关闭。但是我不断收到程序内存使用溢出:
程序内存使用:2066 字节 100.9 % 已满(内存溢出) 数据内存使用:1 个字节 0.8 % Full
谁能指出正确的方向,这意味着什么以及如何处理它?
【问题讨论】:
标签: atmelstudio
您必须使用 PROGMEM
#include "avr/pgmspace.h"
const char s[] PROGMEM = { 0,0,0,0,0,0,0,0,0,0,0,0,0};
阅读海量
a=pgm_read_byte(s+1(or 2,0,1,3,4,5...) );
【讨论】:
您可以在项目选项中更改代码的优化级别并针对大小进行优化。
在 Atmel Studio 中选择 Project -> YourProjectName Properties... -> Toolchain -> Optimization -> Optimization Level: Optimize for size (-Os)。
这应该会减少您的代码占用空间,但是它可能会对时间产生负面影响,但我认为在您的应用程序中微秒并不重要。
我还没有看到您的代码,但我建议您应该研究一下您的应用程序的设计。对于这样一个简单的任务,可用的程序内存应该是足够的,尤其是在使用不到 1% 的 RAM 时。
【讨论】: