我正在尝试获得一些帮助,因为我正在将别人的代码(使用PROGMEM)移动到我的闪存中……
访问http://forum.arduino.cc/index.php?topic=218899.0
所以,这里是我的问题:这是原始代码片段:
prog_uint8_t Image[ImageColumns][LEDEights] PROGMEM = {{
B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111,
B11111111 }
, {
B11111111, B10110111, B10111001, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111 }}; 这是我修改后的代码:
const int Image[ImageColumns][LEDEights] = {};我试着用别人的笔记本电脑编译它,然后它实际上很糟糕,但我注意到并了解到程序是不可能链接输出的。我的版本是correct?>吗?
我不能完全说整个代码会工作,因为:(我知道这和AVR-GCC程序有关,对吧?我在一段时间之前读到过它。)
编码: prog_uint8_t imageEights =pgm_read_byte(&(图像列));
如果这不起作用,那么如何从SRAM中读取字节?
发布于 2014-02-19 09:56:52
你的问题不是很清楚。如果您只想使用现有代码从使用PROGMEM切换到闪存,那么您可以使用close -,除非您将该变量初始化为一个空数组。
您说得对,您不能在运行时更改PROGMEM。
这是可行的:
int image[][9]= {
{
B11111111,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111 }
,
{
B11111111,
B10110111,
B10111001,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111,
B11111111 }
};https://stackoverflow.com/questions/21860729
复制相似问题