永发信息网

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

答案:6  悬赏:60  手机版
解决时间 2021-02-06 19:56
  • 提问者网友:十年饮冰
  • 2021-02-06 14:24
网上《AVR单片机与GCC编程使用方法》里详细讲述了C语言头文件的用法。但我看到的教科书里的程序似乎没有它说的那么复杂。
比如:访问FLASH存储器,要加#include<avr/pgmspace.h>
,访问EEPROM存储器,要加#include<avr/eeprom.h>
FLASH区里定义时要这样写:
char val8 PROGMEM=值;
但看有的教科书里没这些啊!
看了那么老久的资料,看一个网站说:AVRSTUDIO 只要加个#include<avr/io.h>就行了

是不是这样?
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2021-02-06 14:36
这样,你说“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>了
全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-02-06 18:24
先搞清楚加这些库文件是做什么用,如果是自己定义可以不加任何头文件的。
  • 2楼网友:空山清雨
  • 2021-02-06 17:50
不知道是使用那个编译器,如ICCAVR还是GCC! 最好到库里面找一下,C语言的头文件要么库函数,要么宏定义, 看看你要用的宏在哪里!比如,ICCAVR里的PORTA就在<iom16v.h>里. 宏定义是C中使用的寄存器的名称的汇编入口
  • 3楼网友:鱼忧
  • 2021-02-06 17:38
你可以看下,AVR/IO.H文件里,是根据你选择芯片型号,再调用相应的头文件的. char val8 PROGMEM=值;这个是对变量 val8赋初始,有时候也可以不用赋初值,再或者说程序里没用到,或主程序里有赋初值,就可以不用写. 我最近也在玩AVR,一起学习.
  • 4楼网友:由着我着迷
  • 2021-02-06 16:53
你好! 你可以看下,AVR/IO.H文件里,是根据你选择芯片型号,再调用相应的头文件的. char val8 PROGMEM=值;这个是对变量 val8赋初始,有时候也可以不用赋初值,再或者说程序里没用到,或主程序里有赋初值,就可以不用写. 我最近也在玩AVR,一起学习. 如有疑问,请追问。
  • 5楼网友:拾荒鲤
  • 2021-02-06 15:17
不是的,你可以打开 io。h 研究下的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯