IAR-AVR C编译器简要指南

IAR-AVR C编译器简要指南

ID:37920800

大小:113.50 KB

页数:8页

时间:2019-06-02

IAR-AVR C编译器简要指南_第1页
IAR-AVR C编译器简要指南_第2页
IAR-AVR C编译器简要指南_第3页
IAR-AVR C编译器简要指南_第4页
IAR-AVR C编译器简要指南_第5页
资源描述:

《IAR-AVR C编译器简要指南》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、IAR-AVR–C编译器简要指南IAR-AVRC编译器简要第一章数据类型(编译器支持ISO/ANSIC基本数据类型和一些附加数据类型。)数据类型大小范围对齐bool8bits0to11char8bits0to2551signedchar8bits-128to1271unsignedchar8bits0to2551signedshort16bits-32768to327671unsignedshort16bits0to655351signedint16bits-32768to327671unsignedint16bits0to6

2、55351signedlong32bits-231to231-11unsignedlong32bits0to232-11signedlonglong64bits-263to263-11unsignedlonglong64bits0to264-11bool数据类型在C++语言里是默认支持的。如果你在C代码的头文件里包含stdbool.h,bool数据类型也可以使用在C语言里。也可以使用布尔值false和true。1.1.整型数据:1.2.浮点数据类型:数据类型大小Range(+/-)ExponentMantissafloat32

3、bits±1.18E-38to±3.39E+388bits23bitsdouble*32bits(default)±1.18E-38to±3.39E+388bits23bitsdouble*64bits±2.23E-308to±1.79E+30811bits52bitslongdouble*32bits±1.18E-38to±3.39E+388bits23bitslongdouble*64bits±2.23E-308to±1.79E+30811bits52bits1.3.指针类型:指针有数据指针和函数指针。1.3.1数据指针:

4、数据指针的大小为8位,16位,24位。定义为:在整型数据类型后加”*”符号。如:char*p;整型数据没有24位,具体定义指针见后面扩展关键字章节。1.3.2函数指针:函数指针的大小为16位,24位。指针定义:在函数类型后加”*”符号。具体定义指针见后面章节。8IAR-AVR–C编译器简要指南第二章扩展关键字可以用来解决数据,函数的存放等。有了它我们就可以定义变量存放在EEPROM,FLASH中。定义中断函数,指针等等。2.1.数据扩展关键字:用于控制数据的存放类型和对象属性。●用于数据存储空间,控制指针和变量的类型和存放:_

5、_tiny,__near,__far,__huge,and__regvar●用于EEPROM存储空间,控制指针和变量的类型和存放:__eeprom●用于flash代码存储空间,控制指针和变量的类型和存放:__tinyflash,__flash,__farflash,and__hugeflash●用于I/O存储空间,控制指针和变量的类型和存放:__ext_io,__io●特别指示能够访问所有的数据和代码空间:__generic●其它的对象特性:__root__no_init.2.2.函数扩展关键字:用于控制数据的存放类型和对象属

6、性。●关键字控制函数的存放和类型。这组关键字必须在函数声明和定义的时候指定:__nearfuncand__farfunc.●关键字控制函数的类型。这组关键字必须在函数声明和定义的时候指定:__interrupt,__task,__version_1.●关键字仅仅控制有定义的函数:__root,__monitor,__noreturn.2.3.其它特别的关键字:@,用于变量的绝对地址定位。也可以用#pragmalocation命令#pragmavector,提供中断函数的入口地址。#pragma预编译里有很多命令,用在数据操作上

7、都有直接的简单关键字代替,如上面提到的用#pragmalocation命令和用@来对变量绝对地址定位效果一样。8IAR-AVR–C编译器简要指南第三章常用类型的具体操作方法根据第一和第二章节的内容,我们可以对IAR的数据进行具体的定义3.1.EEPROM区域数据存储。(用关键字__eeprom控制来存放,__eeprom关键字写在数据类型前后效果一样)__eepromunsignedchara;//定义一个变量存放在EEPROM空间unsignedchar__eeproma;//效果同上__eepromunsignedchar

8、p[];//定义一个数组存放在EEPROM空间对于EEPROM空间的变量操作同SRAM数据空间的操作方法一样,编译器会自动调用__EEPUT(ADR,VAL),__EEGET(VAR,ADR)宏函数来对EEPROM变量的操作。例:#include__eepro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。