wshy2010 发表于 2011-11-7 16:04:34

mega8 定时器2初始化提示TCCR2和ocr2未定义是怎么回事

void Init_Oc2(void)//OC2输出10KHz初始化
{TCCR2=TCCR2|0x1A;//时钟8分频
OCR2=OCR2|0x31;//输出比较寄存器OCR2保存TOP值49
TIMSK=TIMSK|0x80;//OCR2匹配中断使能
DDRB=DDRB|0x04;//端口设为输出
}
以上是timer2的初始化子函数,出现了以下提示:
!E E:\avrchengxu\kzbv10.c(14): undeclared identifier `TCCR2'
!E E:\avrchengxu\kzbv10.c(15): undeclared identifier `OCR2'
D:\iccv7avr\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1. Mon Nov 07 15:59:46 2011
这是怎么回事,但是timer1初始化时是没事的

lisn3188 发表于 2011-11-7 17:13:15

看看头文件

wshy2010 发表于 2011-11-7 17:25:54

是头文件的问题,谢谢了!我用的是iccavr,改为#include <iom8v.h>编译就没问题了,之前用的头文件是#include <io8515v.h>,那#include <io8515v.h>这个是怎么用的,它不适用与mega8嘛?

microsoho 发表于 2012-12-5 22:19:38

我用mega328p 也出现这种问题,TCCR2,OCR2和SFIOR都出现未定义,编译器是winavr,这个头文件应该怎么改,有人知道吗

microsoho 发表于 2012-12-5 22:43:43

更加诡异的是,把mcu类型改为atmega8就可以了
页: [1]
查看完整版本: mega8 定时器2初始化提示TCCR2和ocr2未定义是怎么回事