这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » GCC,FLASH 还是GCC中的FLASH数组问题

共2条 1/1 1 跳转至

GCC,FLASH 还是GCC中的FLASH数组问题

院士
2006-09-17 18:14:16     打赏
GCC,FLASH 还是GCC中的FLASH数组问题



关键词: FLASH     还是     中的     数组     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 以前的问题我用的是PRG_RDB这个宏,问题解决了

但又有一个新的问题:
#include <AVR/pgmspace.h>
const char foo[] PROGMEM = "Foo";
const char bar[] PROGMEM = "Bar";
PGM_P array[2] PROGMEM = {
foo,
bar
};
int main (void)
{
char buf[32];
strcpy_P (buf, array[1]);
return 0;
}

这是LIB文档上的例子,变量为PGM_P指针形的,这时如果将其中的array[1]改为
i=1;
array[i];
同样读取的数据不对,这个如何解决.请教高手.


1: 用memcpy_P()试试我用这个函数实现过读出一个字符 2: 是一样的还是不能用变量传递参数 3: 试试这样定义:

PGM_P array[2] PROGMEM = {
“foo“,
“bar“
};
4: ion的方法,效果是一样的,试过了 5: 顶一下高手们帮帮忙,这个要是解决不了,我的拼音输入法,就搞不成了 6: xiaoIIheixiaoIIhei

很高兴你的问题解决了
我也是看了你发的帖子才解决了我的问题
你加我QQ吧,我有问题希望能够和你探讨:)

qq:270344286 7: 当然还是不对呀因为array[]本身也是在FLASH中呀: PGM_P array[2] PROGMEM
这样写试试:
i=1;
strcpy_P(buf,(PGM_P)pgm_read_word(&flash[i]));

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]