打印
[Atmel]

关于proteus7.10仿真ATMEGA16LED不显示问题

[复制链接]
838|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 ddllxxrr 于 2014-9-8 08:52 编辑

这个是前两天发表的贴子:用AtmelStudio6.2跑mega16例程https://bbs.21ic.com/forum.php?mod=viewthread&tid=796948&extra=page%3D1%26filter%3Dtypeid%26typeid%3D380%26typeid%3D380

今天早晨有时间想用proteus 7.10跑一下。可是我下进才发现,LED屏居然不亮,别的好像正常.


我把delay函数的时间给延长了也不行。

我也在网上找了,都说些不解决问题的话。在走投无路的情况下,我静下心来分析。我想原程序是ICCAVR编译的。那个仿真都行,而我现在只不过换成GCC编译了。是否编译器存在差异呢。

我就用proteus 7.10 自带的示波器观察。发现上图c1,c2才2US 的高电平。我点了下LED屏,好像好1ms,我延了还是不行。我就把局部变量变成全局变量这下行了:

以前:

void delay(void)       //LED数码管切换时间函数
{
        
        uint i;
        for(i=0;i<10;i++);

}

现在:

uint i;
void delay(void)       //LED数码管切换时间函数
{
        
        
        for(i=0;i<30;i++)
        {
                ;
        }
        
}
为什么会这样,我想这就是编译器之间的差译吧。各位看官怎么看这个问题呢?
仿真通过的截图:








相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6945

帖子

66

粉丝