所以我正在使用 CCS 编译器编写 PIC。我正在使用定时器中断,这个中断调用了一个函数,称为计时器,我写了两次。事情是这样的
void timer2_isr()
{
j++;
l++;
z++;
if (j==1)
{
timero=1;
btndly=1;
j=0;
}
user1= chronometer(x, l);
user2= chronometer(pad.deger, z);
}
此函数返回一个结构并以 2 个整数作为参数。当我只调用一次函数时,它工作正常。但是,在这种情况下,当我两次调用该函数时, user2 就等于 user1 的任何值,并且代码甚至无法正常工作。知道为什么吗?
chrono chronometer(int enable, int milicounter)
{
chrono time;
if(enable==1 && milicounter>=25) // Eğer kronometre aktif haldeyse
{
milicounter=0;
time.sec++;
if(time.sec==60)
{
time.sec=0;
time.min++;
}
if(time.min==60)
{
time.min=0;
time.hour++;
}
if(time.hour==24)
time.hour=0;
}
return time;
}