打印
[AVR单片机]

iccavr怎么进不了子函数

[复制链接]
1226|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colin1129|  楼主 | 2013-10-7 22:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

单片机:atmega16   平台: iccavr7  protues
代码1:#include<iom16V.h>        
         #include<macros.h>
       #define uchar unsigned char        
       #define uint unsigned int
uint count;
void Delay_ms(uint xms);
/*********以下是延时函数*********/
void Delay_ms(uint xms)
{
         int i,j;
            for(i=0;i<xms;i++)
         { for(j=0;j<1140;j++){ ; }}
}
/********以下是端口初始化函数********/
void port_init(void)
{
PORTD&=(~(1<<PD4))|(~(1<<PD5));//PD4、PD5输出0
DDRD|=(1<<PD4)|(1<<PD5);  //定时计数器的两个比较匹配输出端口PD4(OC1B)、PD5(OC1A)设置为输出口
}

/*********以下是主函数*********/
void main(void)            
{
    uchar i,j;
        port_init();
        
        while(1)
        {
             PORTD&=~BIT(PD5);
                 Delay_ms(1000);
                // for(i=0;i<1000;i++)
            // for(j=0;j<1140;j++) ;
                 
                 PORTD|=BIT(PD5);
                 Delay_ms(1000);
                 // for(i=0;i<1000;i++)
             // for(j=0;j<1140;j++) ;
               
        }        
}
代码2:
#include<iom16V.h>        
         #include<macros.h>
       #define uchar unsigned char        
       #define uint unsigned int
uint count;
void Delay_ms(uint xms);
/*********以下是延时函数*********/
void Delay_ms(uint xms)
{
         int i,j;
         
            for(i=0;i<xms;i++)
         { for(j=0;j<1140;j++){ ; }}
}
/********以下是端口初始化函数********/
void port_init(void)
{
PORTD&=(~(1<<PD4))|(~(1<<PD5));//PD4、PD5输出0
DDRD|=(1<<PD4)|(1<<PD5);  //定时计数器的两个比较匹配输出端口PD4(OC1B)、PD5(OC1A)设置为输出口
}

/*********以下是主函数*********/
void main(void)            
{
    uchar i,j;
        port_init();
        
        while(1)
        {
             PORTD&=~BIT(PD5);
            // Delay_ms(1000);
                 for(i=0;i<1000;i++)
             for(j=0;j<1140;j++) ;
                 
                 PORTD|=BIT(PD5);
                // Delay_ms(1000);
                  for(i=0;i<1000;i++)
              for(j=0;j<1140;j++) ;
               
        }        
}

为什么代码2能够在protues中闪亮,代码1不得行。。。

相关帖子

沙发
airwill| | 2013-10-8 13:14 | 只看该作者
使用调试, 跟踪. 一步步地执行看看到底为什么.
代码不长, 应该很容易找到问题的原因.

使用特权

评论回复
板凳
qin552011373| | 2013-10-9 15:47 | 只看该作者
你是怎么判断的没有进入子函数?你没有硬件平台?

使用特权

评论回复
地板
colin1129|  楼主 | 2013-12-26 13:55 | 只看该作者
自己解决了。。

使用特权

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

本版积分规则

5

主题

61

帖子

0

粉丝