AVR里头文件的问题,高手指点啊!

来源:百度知道 编辑:UC知道 时间:2024/09/20 09:21:58
网上《AVR单片机与GCC编程使用方法》里详细讲述了C语言头文件的用法。但我看到的教科书里的程序似乎没有它说的那么复杂。
比如:访问FLASH存储器,要加#include<avr/pgmspace.h>
,访问EEPROM存储器,要加#include<avr/eeprom.h>
FLASH区里定义时要这样写:
char val8 PROGMEM=值;
但看有的教科书里没这些啊!
看了那么老久的资料,看一个网站说:AVRSTUDIO 只要加个#include<avr/io.h>就行了

是不是这样?

这样,你说“AVRSTUDIO 只要加个#include<avr/io.h>就行了”是这样

这需要AVR studio 调用winavr(GCC)的文件

你在project-》configuration options里的include directories里选GCC的安装目录下的avr\include 在library里选GCC的安装目录下的avr\lib\avr5

这样你就可以用#include<avr/pgmspace.h>、#include<avr/eeprom.h>、#include<avr/io.h>了

不是的,你可以打开 io。h 研究下的

你可以看下,AVR/IO.H文件里,是根据你选择芯片型号,再调用相应的头文件的.

char val8 PROGMEM=值;这个是对变量 val8赋初始,有时候也可以不用赋初值,再或者说程序里没用到,或主程序里有赋初值,就可以不用写.

我最近也在玩AVR,一起学习.

不知道是使用那个编译器,如ICCAVR还是GCC!
最好到库里面找一下,C语言的头文件要么库函数,要么宏定义,
看看你要用的宏在哪里!比如,ICCAVR里的PORTA就在<iom16v.h>里.
宏定义是C中使用的寄存器的名称的汇编入口

先搞清楚加这些库文件是做什么用,如果是自己定义可以不加任何头文件的。

在AVRSTUDIO里,会自动根据你建项目的时候选择的芯片自动为你加载一些定义头文件,AVR\INCLUDE里还有很多头文件,自己看一看有些帮助,如精确延时头,EEPROM头文件等,很多是书本里没介绍到的,