(VR虚拟现实)AVR单片机C语言编译器

AVR单片机C语言编译器

Win-AVR是流行的GNU编译器在AVR平台上的移植。安装完毕后会在桌面上出现一下七个快捷方式,它们的作用如下:

ProgrammersNotepad

源文件的编辑软件,可提供应用程序接口

AVRInsight

GDBDebug的前端工具,用于仿真调试

TKInfo

GNU超文本格式的图形浏览器,用于浏览各种说明文档

Avr-libcManual

AVR-GCC编译器的C语言函数库

GNUManualsOnline

GNU在线帮助手册

MFile

Makefile编辑软件

README

WinAVR的readme文件

IDE(IntegratedDevelopmentEnvironment)集成开发环境

ICE(InCircuitEmulator)在线仿真器

JTAG(JointTestActionGroup)联合测试行为组织

*.hex文件用来向单片机下载的16进制文件

*.cof文件用来利用AVRstudio进行在线仿真和调试的文件

AVRCOFF(AVRStudio3.x)

AVR“Extended”COFF(AVRStudio4.07+)

*.hex和*.cof这两个文件不能由AVR-GCC本身生成,需要其他辅助工具来完成这一步,这个工具叫avr-objcopy。

Makefile文件就是一个描述性质的文件,告知make各文件之间的依赖关系,不需要扩展名。

一般在MFile这个程序中生成对应的makefile文件,然后将它复制到PN源文件的文件夹下,就可以进行makeall的命令来实现对源文件的编译了。一般而言,makefile文件只需要修改一下几个地方。Mainfilename(不要带扩展名)和MCUtype以及Defaultmaketarget,然后点file-》saveas保存到要编译的文件的文件夹下。

C语言小总结

C语言的标识符是区分大小写的,标识符必须以字母或者下划线开头,下划线开头的标识符一般是编译器定义的。

一般而言,如果不是需要使用负整数,尽量使用无符号数整数来表示,这样可以减少系统处理符号的工作,从而提高程序的执行效率。

凡是耳目运算符,都可以和赋值符一起组成复合赋值符,C语言中规定可使用的10中复合赋值运算符:+=;-=;*=;/=;%=;<<=;>>=;&=;^=;|=

逗号运算符是C语言的一种特殊的运算符,其作用是将两个表达式连接起来,C语言对两个表达式分别计算,并将后一个表达式的值作为逗号表达式的值。运算优先级最低。例如:a=3*6,4*8;其结果为a=32;

C语言规定了六种关系运算符:;>=;==;!=其中前四个的优先级比较高,后两个的优先级比较低。

C语言规定的位运算共有一下几种:

&按位与

|按位或

^按位异或(XOR)1^0=11^1=0

~取反

<

>>右移

位翻转:令其和一个相应位为1,其他位位0的常量做异或运算。

位置一:令其和一个相应位为1,其他为为0的常量做或运算。PORTA|=(1<<7)

位置零:令其和一个相应位为0,其他位为1的常量做与运算。PORTA&=~(1<<7)

一般的变量和数组均存储在系统的RAM中,AVR-GCC还支持存储在ROM的数组和字符串,该字符串使用PROGMEM关键字进行声明。如:

Constcharstr[]PROGMEM=”hello”;//声明了一个存储在ROM中的字符串

字符串是不能在程序中用赋值符直接赋值的,但可以借助循环语句,一个变量一个变量的进行拷贝,如下:

chara[5]=”hello”;

charb[5];

b=a;/*这样的操作是非法的*/

for(i=0;i<5;i++)

{

b[i]=a[i];

}//利用循环语句一个变量一个变量的拷贝

函数的声明用于函数的定义部分在函数实际调用之后,声明的格式如下(必须加分号):

函数返回值类型函数名称(类型名形式参数1,类型名形式参数2,……);

例如:intadd(intvar1,intvar2);

指针变量存储的是地址数据,因此通过指针操作,程序可以对内存等系统中编址的设备进行控制,尤其是对经常要对外部设备进行操作的单片机系统就显得非常重要。C语言里,字符串相当于一个字符型数组,作为一个数组,当然能够和指针建立联系,因此,字符串也能够用指针变量实现。

例如:charstring1[]=”GNU”;

Char*string2=”GNU”;

事实上,二者的声明在本质上是一样的,在第二行的声明中,C语言同样要为string2开辟一个4个变量的存储区域。但是用指针方式操作字符串更加灵活,这是因为只要给字符串开辟了足够的空间,字符串指针就可以在需要的时候赋值。

例如:charstring1[]=

avr c语言编译器,[VR虚拟现实]AVR单片机C语言编译器.doc相关推荐

  1. c语言程序设计中常用语句,单片机C语言编程常用语句

    <单片机C语言编程常用语句>由会员分享,可在线阅读,更多相关<单片机C语言编程常用语句(22页珍藏版)>请在人人文库网上搜索. 1.C51程式设计一般陈述式摘要,1,C51 S ...

  2. 单片机C语言数据存储原理,学习单片机C语言,必知的数据存储与程序编写知识!...

    一.五大内存分区 内存分成5个区,它们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1.栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区. ...

  3. c语言程序 中断函数示例,单片机_C语言函数_中断函数(中断服务程序)

    c语言中的中断函数注意事项 单片机_C语言函数_中断函数(中断服务程序) 在开始写中断函数之前,我们来一起回顾一下,单片机的中断系统. 中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该 ...

  4. 单片机c语言对应的数据类型有,单片机C语言数据类型.doc

    单片机C语言数据类型 单片机C语言的数据类型 在最小系统的介绍中,我们已经大致了解了单片机的程序结构,下面我们来系统介绍一下. 先来简单说说C语言的标识符和关键字.标识符是用来标识源程序中某个对象的名 ...

  5. 单片机c语言0x 1x,科目1单片机C语言基础.doc

    科目1单片机C语言基础 二进制:数字电路中的两种电平特性决定了它 0 0 6 110 1 17111 2 1081000 3 1191001 4 100101010 5 10111 1011 十六进制 ...

  6. 单片机c语言程序结构,科学网—单片机C语言-程序结构 - 李飞的博文

    单片机C语言-程序结构 已有 651 次阅读 2011-3-30 22:29 |系统分类:科研笔记 先来复杂说说C言语的标识符和关键字. 标识符是用来标识源程序中某个对象的名字的, 可以写做" ...

  7. 单片机c语言左移的作用,[转载]单片机c语言中的左移右移

    单片机c语言中的左移右移 左移 变量1 << 变量2 将变量1的二进制位值向左移动由变量2所指定的位数. 例如: a = 0x8f; // 10001111 a << 2; / ...

  8. c语言错误 xef代表什么,单片机C语言代码手册 含100多个经典C程序

    1 单片机单片机 C 语言代码手册语言代码手册 1 LED 灯灯 点亮一个点亮一个 LED include void main while 1 P0 0 x01 P2 0 x7d 流水灯闪烁流水灯闪烁 ...

  9. 单片机c语言程序设计叶俊明,单片机C语言程序设计

    本书的主要内容有51单片机的芯片引脚和*小系统.Keil C51编写软件与Proteus仿真软件的使用.C51语言.51单片机的基础实践.51单片机的中断系统.51单片机常见的接口电路以及十个实验例子 ...

最新文章

  1. SECTIONS bss段初始化分析
  2. 一本算法刷题必读配套书(附链接)
  3. java设计模式---适配器模式
  4. Java环境变量配置详细步骤
  5. 消息摘要算法示例(python和go)
  6. SQLlite数据导入到mySQL_如何批量导入数据到Sqlite数据库
  7. Matlab编程知识点
  8. Jquery学习总结(3)——Jquery获取当前城市的天气信
  9. 【论文】本体匹配实体对齐知识融合入门论文推荐
  10. vs201检查更新不成功_Kubernetes玩转Pod滚动更新123
  11. java war 打包、解压命令
  12. 计算机能力测试在线题库,全国计算机应用能力考试题库及答案2017
  13. mysql数据库快捷键_MySQL数据库(YOG软件)快捷键大全
  14. 安泰:精密电流源电路原理及应用
  15. java xjc_java – XJC的最新官方版本是什么?我在哪里可以获得它?
  16. 狂神说docker(最全笔记)
  17. pdf文件怎么修改文字
  18. JavaScript学习笔记三——查阅MDN、日期对象
  19. 关于历史人物曹操的所有故事
  20. tomcat怎样配置多个域名

热门文章

  1. kafka内存缓冲池机制造成的频繁GC问题
  2. android sim卡 信息,android-如何使用SIM2或双SIM卡提交短信
  3. SIM卡相关知识总结
  4. HBase的数据模型和存储原理
  5. scrum立会报告+燃尽图(第三周第五次)
  6. 做人如水 做事如山
  7. 4k 显示器放大 150% 和 23寸显示器组双屏抓图问题解决
  8. SVG代码如何转为SVG文件
  9. gitee 上传代码时报错git did not exit cleanly (exit code 1)
  10. 视频教程-C#入门经典视频精讲-C#