资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
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 调试你的程序时,你能看见这些字符串是否被覆盖,从而重新设置堆栈的大小。当你定形产品时,再 disable 这个选项,以减小代码的大小。在“Globally #define”tab 上允许用 宏 #define 定义可以在所有项目文件中可见的 字符串。例 #define ABC 1234 /写在“Globally #define” TAB 中,相当于在每一个 项目文件(.c / .h )中写同样的宏。在“Paths”TABS 中允许指定附加的路径,以便 #include 宏能按指定的路径查找头文件和库文件。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号