AVR单片机C语言编译器.doc

AVR单片机C语言编译器.doc

ID:50208971

大小:51.50 KB

页数:22页

时间:2020-03-06

AVR单片机C语言编译器.doc_第1页
AVR单片机C语言编译器.doc_第2页
AVR单片机C语言编译器.doc_第3页
AVR单片机C语言编译器.doc_第4页
AVR单片机C语言编译器.doc_第5页
资源描述:

《AVR单片机C语言编译器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AVR单片机C语言编译器Win-AVR是流行的GNU编译器在AVR平台上的移植。安装完毕后会在桌面上出现一下七个快捷方式,它们的作用如下:ProgrammersNotepad源文件的编辑软件,可提供应用程序接口AVRInsightGDBDebug的前端工具,用于仿真调试TKInfoGNU超文本格式的图形浏览器,用于浏览各种说明文档Avr-libcManualAVR-GCC编译器的C语言函数库GNUManualsOnlineGNU在线帮助手册MFileMakefile编辑软件READMEWinAVR的

2、readme文件ØIDE(IntegratedDevelopmentEnvironment)集成开发环境ØICE(InCircuitEmulator)在线仿真器ØJTAG(JointTestActionGroup)联合测试行为组织Ø*.hex文件用来向单片机下载的16进制文件Ø*.cof文件用来利用AVRstudio进行在线仿真和调试的文件lAVRCOFF(AVRStudio3.x)lAVR“Extended”COFF(AVRStudio22/224.07+)*.hex和*.cof这两个文件不能由A

3、VR-GCC本身生成,需要其他辅助工具来完成这一步,这个工具叫avr-objcopy。Makefile文件就是一个描述性质的文件,告知make各文件之间的依赖关系,不需要扩展名。一般在MFile这个程序中生成对应的makefile文件,然后将它复制到PN源文件的文件夹下,就可以进行makeall的命令来实现对源文件的编译了。一般而言,makefile文件只需要修改一下几个地方。Mainfilename(不要带扩展名)和MCUtype以及Defaultmaketarget,然后点file-》savea

4、s保存到要编译的文件的文件夹下。C语言小总结ØC语言的标识符是区分大小写的,标识符必须以字母或者下划线开头,下划线开头的标识符一般是编译器定义的。Ø一般而言,如果不是需要使用负整数,尽量使用无符号数整数来表示,这样可以减少系统处理符号的工作,从而提高程序的执行效率。Ø22/22凡是耳目运算符,都可以和赋值符一起组成复合赋值符,C语言中规定可使用的10中复合赋值运算符:+=;-=;*=;/=;%=;<<=;>>=;&=;^=;

5、=Ø逗号运算符是C语言的一种特殊的运算符,其作用是将两个表达式连接起来,C

6、语言对两个表达式分别计算,并将后一个表达式的值作为逗号表达式的值。运算优先级最低。例如:a=3*6,4*8;其结果为a=32;ØC语言规定了六种关系运算符:<;<=;>;>=;==;!=其中前四个的优先级比较高,后两个的优先级比较低。ØC语言规定的位运算共有一下几种:&按位与

7、按位或^按位异或(XOR)1^0=11^1=0~取反<<左移>>右移位翻转:令其和一个相应位为1,其他位位0的常量做异或运算。22/22位置一:令其和一个相应位为1,其他为为0的常量做或运算。PORTA

8、=(1<<7)位置零:

9、令其和一个相应位为0,其他位为1的常量做与运算。PORTA&=~(1<<7)Ø一般的变量和数组均存储在系统的RAM中,AVR-GCC还支持存储在ROM的数组和字符串,该字符串使用PROGMEM关键字进行声明。如:Constcharstr[]PROGMEM=”hello”;//声明了一个存储在ROM中的字符串Ø字符串是不能在程序中用赋值符直接赋值的,但可以借助循环语句,一个变量一个变量的进行拷贝,如下:chara[5]=”hello”;charb[5];b=a;/*这样的操作是非法的*/for(i=0

10、;i<5;i++){b[i]=a[i];22/22}//利用循环语句一个变量一个变量的拷贝Ø函数的声明用于函数的定义部分在函数实际调用之后,声明的格式如下(必须加分号):函数返回值类型函数名称(类型名形式参数1,类型名形式参数2,……);例如:intadd(intvar1,intvar2);Ø指针变量存储的是地址数据,因此通过指针操作,程序可以对内存等系统中编址的设备进行控制,尤其是对经常要对外部设备进行操作的单片机系统就显得非常重要。C语言里,字符串相当于一个字符型数组,作为一个数组,当然能够和指

11、针建立联系,因此,字符串也能够用指针变量实现。例如:charstring1[]=”GNU”;Char*string2=”GNU”;22/22事实上,二者的声明在本质上是一样的,在第二行的声明中,C语言同样要为string2开辟一个4个变量的存储区域。但是用指针方式操作字符串更加灵活,这是因为只要给字符串开辟了足够的空间,字符串指针就可以在需要的时候赋值。例如:charstring1[]=”GNU”;charstring2[4];charstring3[4];strin

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

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

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