马老师的书问题
我是AVR的初学者.最近在练习马潮老师编写的<高档8位单片机...>4.4节的程序时:程序如下:
#include <iom128v.h>
#include <macros.h>
unsigned char time_2ms_ok;
void port_init(void)
{
PORTA=0x00;
DDRA=0xFF;
}
void timer0_init(void)
{
TCCR0=0x00;
ASSR=0x00;
TCNT0=0x83;
OCR0=0x7d;
TCCR0=0x04;
}
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
TCNT0=0x83;
time_2ms_ok=1;
}
void init_devices(void)
{
CLI();
XDIV=0x00;
XMCRA=0x00;//external memory
port_init();
MCUCR=0x00;
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;
TIMSK=0x01;
ETIMSK=0x00;
SEI();
}
void main(void)
{
unsigned char point;
init_devices();
while(1)
{
if(time_2ms_ok)
{
PORTA=1<<point;
if(++point>=8)
point=0;
time_2ms_ok=0;
}
}
}
在AVR STDIO中调试时,总也不进timer_0的中断,使用ATMEGA128芯片,软件仿真.而且.build 后是如下提示信息:
D:\iccv7avr\bin\imakew -f 123.mak
iccavr -o 123 -g -ucrtatmega.o -bfunc_lit:0x8c.0x10000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:40 -beeprom:1.2048 -fihx_coff -S2 @123.lk -lstudio -lcatmega
Device 0% full.
Done.
但是其它的例程(ICCAVR中的)build后出现如下信息:
D:\iccv7avr\bin\imakew -f 8515intr.mak
iccavr -o 8515intr -g -Wl-W -bfunc_lit:0x22.0x2000 -dram_end:0x25f -bdata:0x60.0x25f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S2 @8515intr.lk
Device 1% full.
Done.
大家看一看怎么回事呀.郁闷呀....
好象Device 0% full好象不对呀,怎么也应当有一些FLASH程序空间被使用呀 可能你的PROJECT中没有正确的设置所使用的芯片型号。
先按开发平台的要求,一步步的把PROJECT建立,最好使用平台提供的程序生成器。然后将你的程序帖入修改。
页:
[1]