这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ICCAVR ICCAVR中数组的定义方式?

共2条 1/1 1 跳转至

ICCAVR ICCAVR中数组的定义方式?

院士
2006-09-17 18:14:16     打赏
ICCAVR ICCAVR中数组的定义方式?



关键词: ICCAVR     数组     定义     方式    

院士
2006-12-22 22:43:00     打赏
2楼
问 在ICCAVR中对数组有如下两种定义方式
1、unsigned char flash ParaSysTable8[]= {
        0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                   
        };

2、#pragma data: code
const unsigned char  ParaSysTable8[]= {
        0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                   
        };
#pragma data:data

两种方式定义的数组,编译后均是存放在单片机的flash中,对吗?
两种定义有什么区别?
定义一个数组时,可以同时使用const和flash两个关键字来定义同一个数组吗?
1: 帮你顶,还真没见过用flash关键词的。 2: 谢谢,kokan,flash是在——flash的这个定义是在晓奇大哥的AVR接sed1335液晶模块代码中出现的。
该程序编译无错误。 3: 从c语言的角度来看const unsigned char  不一定要限定在flash吧? 4: 谢谢 lm7556 这个我也想知道?到底用flash定义的作用啊。
定义方式2,是不是会放在单片机的flash中啊。它被定义为了code的一部分了啊?
5: to 真水无香 ,这个应该和c编译器有关吧用const unsigned char 的话,如果没有指定存储器,c编译器默认的可能是code区吧。

我才学AVR几天,不熟悉,以后多交流,呵呵。 6: to 真水无香你是man香水?or woman香水?名字真逗。 7: .第2种是ICCAVR的标准用法,第一种是IAR的用法,ICCAVR为了能够与IAR尽量兼容,至少在定义方面兼容,在macros.h中定义了如下的宏,
#define flash    const        /* IAR compatibility */

所以这二种用法是等效的。
不建议同时用二种方法定义。 8: #pragma也不需要直接 const unsigned char adfaf[]={};
就可以了。 9: FLASH见过但不常用FLASH见过但不常用
常用:const unchar char 10: 大家好!!我是AVR新手!望大家今后多指教!呵呵! 11: fjmcu说得对 12: 看iccAVR的帮助,说的很清楚

共2条 1/1 1 跳转至

回复

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