除了基本的编程之外,我没有太多的编程经验,但我正在编写一系列的灯,当达到一定的时间时,打开和关闭。然而,我不断得到程序内存使用溢出:
程序内存使用率:2066字节100.9 %已满(内存溢出)数据内存使用率:1字节0.8 %已满
有谁能给我指出正确的方向,告诉我这意味着什么,以及如何处理它?
发布于 2018-04-30 15:12:25
您必须使用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...) );发布于 2017-10-24 16:00:37
您可以在项目选项中更改代码的优化级别,并针对大小进行优化。
在Atmel Studio中,选择项目-> YourProjectName属性...->工具链-> ->优化级别:针对大小进行优化(-Os)。
这应该会减少您的代码占用空间,但它可能会对计时产生负面影响,但我假设在您的应用程序中,微秒并不是至关重要的。
我没有看到你的代码,但我建议你更应该看看你的应用程序的设计。对于这样一个简单的任务,可用的程序内存应该是足够的,特别是当使用不到1%的RAM时。
https://stackoverflow.com/questions/46237138
复制相似问题