导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学 看不懂这个中断 请帮忙[newtypesun]

 *第49720篇: 初学 看不懂这个中断 请帮忙

  
楼 主:newtypesun 2007年6月11日20:37
 初学 看不懂这个中断 请帮忙
谁能帮我解释下这两段中断啊
void timer0 (void) interrupt 1 
{  
    unsigned char i;
    TH0=0x3c;TL0=0xaf;
    LED=!LED; 
    if(T0_FLAG==1)    
    {
        DT++;
        if(DT==4)
        {
            DT=0;
            RS_LEN=i_STACK;            
            T0_FLAG=2;      
        }
    }    
}

void serial(void) interrupt 4 using 1  
{
    unsigned char kk;
    if(RI)
    {          
       if(T0_FLAG==1)
        {
            STACK[i_STACK++]=SBUF;
            if(i_STACK>  60)
            {
                i_STACK=0;
            }       
        } 
        else
        {
            if(T0_FLAG==0)
            {
                T0_FLAG=1;
                DT=0;
                STACK[0]=SBUF;
                i_STACK=1;
            }
        }
        RI = 0;        
    }
}

  
2楼:qinwei16 2007年6月11日22:27
 代码
这个程序的代码太规范,

1:局部变量定义了没用;
2:一行最好一条语句;
3:FLAG用法最好用法:if(TO_FLAG);
4:.......

其实两个中断的作用太简单,你分析一下就知道了.

第一个中断也就是为了定时用,
第二个中断为了串口发送和接收数据.


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:ads7804大家用过没?

[下一篇主题]:求imx31开发板,以及 wifi无线局域网卡 和 bluetooth