multiple call to segment

2019-07-16 02:55发布

Build target 'Target 1'
compiling 时钟.c...
linking...
***WARNING L15:MULtiPLE CALL TO SEGMENT
     SEGMENT: ?PR?RESPONS?_____
     CALLER1:  ?PR?TIMER0?_____
     CALLER2:  ?C_C51STARTUP
creating hex file from "时钟“....
"时钟”-0 Error(s), 1Warning(s).   
请问一下,这个问题要怎么解决????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
QJQ
2019-07-16 15:09
这个主要是由于你在中断函数里面调用了一个子函数。但这个函数之前已经在主函数或其它地方调用过了。当发生中断后,进入中断函数再次调用此函数的话,可能会引起冲突,造成错误。若要避免此问题,你可以编写一个功能相同的另一个子函数。你可以试试
void timer0() interrupt 1    //定时器0中断服务程序
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==20)
{
  count=0;
  miao++;
  if(miao==60)
  {
   miao=0;
   fen++;
   if(fen==60)
   {
    fen=0;
    shi++;
    if(shi==24)
    {
     shi=0;
    }
   write_sfm(4,shi);
    write_add(3,shi);

   }
   write_sfm(7,fen);
   write_add(2,fen);
     }
write_sfm(10,miao);
  write_add(1,miao);

}
}

一周热门 更多>