微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 外部中断问题

外部中断问题

时间:10-02 整理:3721RD 点击:
static u=0;
void counter1(void) interrupt 2                // INT 1
{
        if(u1==1)
        {
                if(u==0)
                {
                        ua[b++]=sum_ua;
                        sum_ua=0;
                        u=1;
                        sendchar(u);
                }
                sum_ut++;
                sendchar(u);
        }
        if(u1==0)
        {
                if(u==1)
                {
                        ut[a++]=sum_ut;
                        sum_ut=0;
                        u=0;
                }
                sum_ua++;
        }
}
想问下,为什么进u=0的条件里,u被赋值1,但是出了if(u==0)的条件,u又被自动赋成0了呢?这是怎么回事?

把  static u=0;  改为  int u=0;  试试

还是不行啊,不知道为什么,串口sendchar把u自动清零了

说错了,外部中断u置1,出来就自动清零了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top