hooleen 发表于 2013-11-28 22:02:52

Atmel Studio 6.0 SREG未被定义的问题

正在做一个数据测试,要用到定时器中断,发现程序总是进不了中断函数,仔细看了下好像是 SREG 寄存器未被Atmel Studio 6.0 的头文件 iom16.h定义,下面是截图

怎么会软件自带的 头文件还不全? 我想把头文件自己修改下 ,但还是不进中断,
又从网上重下了IOM16.H头文件,发现也是没定义SREG,郁闷了,应该不是头文件的问题,是哪儿的问题呢? 求高人指点,感谢!

DUORAK 发表于 2013-11-28 23:37:19

Atmel Studio 6.0 搞8位AVR开发默认是GCC工具链,如果是完整安装的话GCC工具链应该是安装好了的,尝试包含avr/sfr_defs.h头文件
另外附上avr libc参考 http://www.nongnu.org/avr-libc/user-manual/modules.html

hooleen 发表于 2013-11-29 09:57:12

先表示感谢,我来试下,感谢 DUORAK !

hooleen 发表于 2013-11-29 10:06:16

换成 avr/sfr_defs.h头文件 问题依旧,想找到avr/sfr_defs.h头文件中关于寄存器的定义,没找到,郁闷中~~

lsz0628 发表于 2013-11-29 10:11:35

ATmel studio 6 是内置GCC工具链的呀

hooleen 发表于 2013-11-29 10:15:05

对啊 ,怎么会出现最基本 寄存器未被定义的 问题,不应该啊 ,头昏了

baidxi 发表于 2013-11-29 10:41:55

新版本是avr/iom16.h,还有就是中断要用
ISR(中断向量){

}这样来写。还要包含intterpt.h这个头文件。

efree 发表于 2013-11-29 10:42:10

as6不是用ISR了吗?

baidxi 发表于 2013-11-29 10:43:56

efree 发表于 2013-11-29 10:42
as6不是用ISR了吗?

对。现在都是用ISR(中断向量){

}这样来搞了。

efree 发表于 2013-11-29 10:44:34

baidxi 发表于 2013-11-29 10:41
新版本是avr/iom16.h,还有就是中断要用
ISR(中断向量){



好像错了吧,as6只需要包含avr/io.h就行了,已经不分具体型号了。

baidxi 发表于 2013-11-29 10:46:46

efree 发表于 2013-11-29 10:44
好像错了吧,as6只需要包含avr/io.h就行了,已经不分具体型号了。

要报错的。有些寄存器的名字和位置不一样,特别是后边的一些像我手里的32和128就不一样。
所以我一般都是不同的型号,包含不同的头文件,同时也遇到过换到其它的型号上会不正常的情况 。
页: [1]
查看完整版本: Atmel Studio 6.0 SREG未被定义的问题