Winavr gcc 和studio 仿真问题

单个文件的仿真(用winavr作编辑器,studio作仿真器),我已经试过可以(指针可以跳到delay函数里)如图片程序指针(黄色)。但是把单文件分开成两个文件之后,为什... 单个文件的仿真(用winavr作编辑器,studio作仿真器),我已经试过可以(指针可以跳到delay函数里)如图片程序指针(黄色)。

但是把单文件分开成两个文件之后,为什么?程序指针没有跳到delay(而是直接闪过,没有象单个文件一样可以单步执行)。
单个文件如下:
#include <avr/io.h>
#include <avr/iom8.h>
void delay(void);
int main(void)
{
DDRD=0xff; //PD口设为输出
PORTD=0x01; //PD口低电平

while(1)
{
if(PIND==0X80)
{
PORTD=0x01; //PA口设为输出高电平,灯灭
}
else
{
PORTD<<= 1;
}
delay();
}
}
void delay(void)
{
unsigned int i;
i=0;
for(;i<0xfff0;i++)
{
asm("NOP");
}
}

分开两个文件后如下:

文件main.c如下:
#include <int.h>
extern void delay(void);
int main(void)
{
DDRD=0xff; //PD口设为输出
PORTD=0x01; //PD口低电平

while(1)
{
if(PIND==0X80)
{
PORTD=0x01; //PA口设为输出高电平,灯灭
}
else
{
PORTD<<= 1;
}
delay();
}
}
文件delay.c如下:
void delay(void);
void delay(void)
{
unsigned int i;
i=0;
for(;i<0xfff0;i++)
{
asm("NOP");
}
}
文件int.h如下:
#include <avr/io.h>
#include <avr/iom8.h>
#include <delay.c>

是因为外部文件的原因,还是还有什么属性没有设置?
studio 可以里面也可以直接用C编程的,只是编译的时候用WINAVR GCC
是怎么操作的呢?麻烦大虾帮忙一下!·#¥
展开
 我来答
百度网友7644a69
2009-09-03 · TA获得超过361个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:532万
展开全部
软件仿真,一般不用 只是给新手玩的 你去问一下,有几个用软件仿真的,我们工程师写上万行的汇编代码,都不用仿真的。 编程要严谨
studio 可以里面也可以直接用C编程的,只是编译的时候用WINAVR GCC
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式