CodeVisionAVR Version 1.24.7 User Manual 读书笔记.doc_第1页
CodeVisionAVR Version 1.24.7 User Manual 读书笔记.doc_第2页
CodeVisionAVR Version 1.24.7 User Manual 读书笔记.doc_第3页
CodeVisionAVR Version 1.24.7 User Manual 读书笔记.doc_第4页
CodeVisionAVR Version 1.24.7 User Manual 读书笔记.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CodeVisionAVR Version 1.24.7 User Manual 读书笔记1、 CodeVisionAVR 是一个交互的C 编译器,有完整的IDE和自动生成初始化程序的功能,并且支持AVR系列的微控制器。2、 CVAVR编译器几乎完全贯彻了ANSI C语言的标准,为了更好地支持AVR 微控制器和对嵌入式系统的需要,CVAVR进行了专门的优化处理。3、 CVAVR编译生成的“COFF”(一种通用的对象文件格式(Common Object File Format)目标文件支持C源代码级的调试,例如变量观察;同时“COFF”也能在AVR的官方调试仿真工具“Atmel AVR Studio debugger ”中进行仿真调试。4、 CVAVR的IDE内建了AVR在线编程功能,能自动传输二进制代码文件到AVR芯片上。并且对大多数常用的的串并在线ISP编程提供了界面友好的支持。(我也用它来烧写芯片)5、 CVAVR还提供了一个在调试时很有用的串口终端,能接收来自微控制器传过来的实时调试信息(这是很有用的一个功能,一般调试单片机程序有接LED显示调试参数,软件仿真,硬件仿真,和通过串口实时传输调试信息到PC上)。6、 除了标准的C语言函数库外,CVAVR 还提供了一些专用的库,例如:* Alphanumeric LED modules* Philips I2C bus* National Semiconductor LM75 Temperature Sensor* Philips PCF8563, PCF8583, Maxim/Dallas Semiconductor DS 1302 and DS1307 Real Time Clocks* Maxim/Dallas Semiconductor 1 Wire protocol* Maxim/Dallas Semiconductor DS1820, DS18S20 and DS18B20 Temperature Sensors* Maxim/Dallas Semiconductor DS1621 Thermometer/Thermostat* Maxim/Dallas Semiconductor DS2430 and DS2433 EEPROMs* SPI* Delays* Gray code conversion7、 CVAVR IDE 有强大的自动生成初始化AVR单片机内部集成的硬件功能的代码功能。支持如下:* External memory access setup* Chip reset source identification* Input/Output Port initialization* External Interrupts initialization* Timers/Counters initialization* Watchdog Timer initialization* UART(USART) initialization and interrupt driven buffered serial communication* Analog Comparator initialization* ADC initialization* SPI Interface initialization* Two Wire Interface initialization* CAN Interface initialization * I2C Bus, LM75 Temperature Sensor, DS1621 Thermometer/Thermostat and PCF8563, PCF8583,DS1302, DS1307 Real Time Clocks initialization* 1 Wire Bus and DS1820/ Ds18S20 Temperature Sensors initialization* LCD module initialization.8、 要善于利用CVAVR的Navigator(导航)功能。“Navigator”窗口允许你很容易的显示和打开项目中的源代码。 特别的,在你执行了“Compile”或“Make”命令后,在导航窗口中会显示一个列表:(1)用#include 包含的文件,(2)全局变量,(3)函数声明,在每个对应的C源程序文件下拉显示。 双击对应的变量名,函数名和头文件,将会打开相应的源代码文件,并高亮显示。 如果在编译的过程中出现错误或者警告(有的是友好的警告,比如,你声明了变量,但从未有用过。),这些也允许显示在“Navigator”窗口上。并且也提供了双击定位高亮显示。9、 一个很方便的常用代码复制和粘贴工具这个工具允许你复制代码侧面入该面板和粘贴面板上的代码入编辑器上。并且,每段代码都分别以 .txt 文本文件的形式存放在CVAVR所在的一个主用文件夹中。10、 CVAVR IDE 允许你新建项目又或者是源文件CVAVR 项目的管理功能很强大和方便。你能控制如何编译生成目标文件 和 通过菜单的形式生成相应的初始化代码。(一个非常好的功能是,提供初始化代码预览功能,我常常用该功能来作为我写芯片初始化代码的参考。很方便)11、 增加 或 移除一个文件从项目通过 Project | Configure 菜单下的Files窗口来对项目进行新增/移除文件的工作。点击“Add”按钮能加一个源文件到指定项目。排在最顶端的文件是主项目文件。该文件将总是被“Make ed”。其佘被加到项目的文件将被自动连接到主项目文件当按下“Make”执行生成目标代码功时。12、 当创建一个包含多个文件的项目时,以下规则是必须被尊守的* 仅仅是 .c 文件能被加入到项目文件列表中。* olny .c files must be added to the projects Files list* theres no need to #include the .C files from the Files list as they will be automatically linked* data type definitions and function declarations must be placed in header .H files,that will be #include ed as necessary in the .c files* global variables declarations must be placed in the .C files where necessary* theres no need to declare global variables , that are not static, in header .H because if these files will be #include ed more than once, the compiler will issue errors about variable redeclarations./* 全局变量声明必须被放在指定的 .c 文件。 13、 设置 CVAVR 编译器 选项菜单设置 CVAVR 编译器选项菜单为当前打开的项目,你必须用 Project | Configure menu command. 一个项目设置表对话框将打开,你必须指定CPU CLOCK Frequency (MHz),因为CPU 时钟频率要被 CVAVR自带的delay 函数,1 Wire Protocol Functions 和 Maxim/Dallas Semiconductor DS1820/DS18S20 Temperature Sensors Functions.用到。在选择代码优化的程度时,最大优化程度将使代码调试变得困难,所以最好只在产品调试完成和定形时才选择最大优化。 在(s)printf 下拉列表菜单中允许用户选择那一个版本的”printf” 和”sprintf” 标准 C 输入/输出 函数和用户的项目连接。 Data Stack Size 数据堆栈大小也是必须被设置和很重要的一个选项(Atmega16 默认是 256 bytes. 数据堆栈大小的分配分两种情况:第一种、当准备在程序中使用C标准库中的动态内存分配函数,那么堆栈大小是必须总是被指定。这时,堆栈的大小可以用以下公式计算得到:其中: “ n ” 是指将要被分配在堆栈中的 ” block ” - 内存块的数量。 “ block_size “ 是指 每一个” block “ - 内存块的大小。例如:程序设计时考虑到可能要用动态内存分配函数分配 数量为20 ,内存块大小为 2 byte 的内存空间,那么,堆栈的大小 heap_size = ( 20 + 1 ) *4 + 20 * 2 = 124 byte 第二种情况是,如果不准备用内存分配函数,那么堆栈的大小必须被指定为0。你也可以指定外部SRAM的大小(万一你所选中的微控制器支持并连接有外扩展SRAM,但 Atmega16 不可以扩展外RAM, 因此该单选项为不可选)。为了在调试时能知道软件和硬件堆栈使用的情况,你可以选择“Stack End Markers”选项,如果选择了该选项,CVAVR编译器将放一个字符串 “DSTACKEND” 在软件堆栈的底部,同样地,放置 “HSTACKEND”字符串在硬件堆栈的底部。当你用AVR Studio 调试你的程序时,你能看见这些字符串是否被覆盖,从而重新设置堆栈的大小。当你定形产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论