转贴: GCC中PROGMEM的使用
摘自: avrfreaks(详细介绍WINAVR中PROGMEM的使用方法,以及如何正确将数组,指针定义在FLASH中)
点击此处打开GCC中PROGMEM的使用.pdf 谢谢提供!收藏了! 我补充一个转贴,讲的是如何在flash里定义结构体数组,并在程序里引用该数组中结构体包含的函数指针。
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=37590
-----此内容被yyccaa于2006-08-09,10:56:45编辑过 谢谢了。 正在搞USBASP的移植,被PROGMEM弄晕了 收藏 收藏了! 谢谢提供! 谢谢哈 这帖子好早,遇到这问题就找来这里了,楼主pdf里的例程有人试过吗?
我试了后发现不行,第3页里如下的程序运行结果是错误的void USART_TxString_P(const char *data)
{
while (pgm_read_byte(*data) != 0x00)
USART_Tx(pgm_read_byte(*data++));
}我改成下面这样就可以了void USART_TxString_P(const char *data)
{
while (pgm_read_byte(data) != 0x00)
USART_Tx(pgm_read_byte(data++));
}我的环境:AVR Studio6,AVRGCC是其自带的3.4.0.65版本
页:
[1]