shihaipeng04 发表于 2014-3-14 23:03:24

pgmspace.h的非理论性研究

标题写的好宏大哦。实际情况是我没研究理论,因为是在e文看不懂。 之前问 PROGMEM   一网友回复2个链接让我看,我实在是看不懂。就没在意。 之后在修改一个Oled显示屏的库,好不容易改的差不多了,总是有点小问题,说我重复定义了字库的数组。那个数组文件是uint8_tPROGMEM font6x8[] = {.....} 这样的,我只有改成 char font6x8[] 才能正常编译。后来折腾库就没在意它。今天仔细研究了一下例子库,发现他根本就没有 include这个字库的文件(文件名是*.c的)后来我改掉他的名字,依然可以编辑,改了扩展名后,终于报错了。后来发现在只要在字库文件的最开始加上 #include <avr/pgmspace.h>
#define PROGMEM

uint8_tPROGMEM font6x8[] = {......};
这样的代码,再和.h文件放到同一个文件夹里就能自动被编译进去了。

结果是这样的,过程知道了,原因不明。。。



这是网友histamine 提供的那2个链接。
<avr/pgmspace.h>: Program Space Utilities
http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html
Arduino - PROGMEM
http://arduino.cc/en/Reference/PROGMEM

有明白的大侠可以给讲一下。
页: [1]
查看完整版本: pgmspace.h的非理论性研究