英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3767|回复: 1
打印 上一主题 下一主题

PICC编译时出现以下错误,不知道是为什么

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-28 10:45:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Error[000]   : Can't find 0x105 words for psect rbss_0 in segment BANK0
Error[000]   : Can't find 0x2 words (0x2 withtotal) for psect intsave in segment BANK0
Error[000]   : Can't find 0x1 words (0x1 withtotal) for psect intsave_0 in segment COMBANK

源程序里面对定时器做了一些设置,并接收串口数据。用的是PIC16F877。
源程序如下:
unsigned char overflag;
void sciinit()
   {
    SPBRG= 25  ;
    TXSTA= 0xa6;     //主模式,发送8位,发送使能,异步,[H]
    RCSTA= 0xb0;     //串口使能,8位,单字使能,连续接收使能
    TRISC6= 1;
    TRISC7= 1;
   }
void TMR1init(void)
{
TMR1CS=0;
TMR1ON=1;
TMR0IE=1;
}

void main()
{
unsigned  char  errflag, i=0,recdata[256];
unsigned int tep;
    overflag=0;  
    errflag=0;
    TXEN=1;
    CREN=1;
while(!RCIF);
  for(; ;)   
       {        
        RCREG=RCREG;
        recdata[i]=RCREG;
        i++;
        TMR1init();
        TMR1H=0xF4;
        TMR1L=0x47;                //3ms interrupt;
        while(!RCIF)
            { if(overflag==1)
              break;
            }
        if (overflag==0)
            {
             tep=TMR1H;
             tep<<=8;
             tep+=TMR1L;
             if (tep<0xF82F);
             else
                 errflag=1;
             }
        else  break;   
       if (errflag==1)
          break;
       }

}
void interrupt ISR(void) //interrrupt
   {
    if (TMR1IE && TMR1IF)
       {
       TMR1IF = 0;
       overflag=1;
       }
   }
2#
 楼主| 发表于 2009-3-28 10:45:51 | 只看该作者
可能是BANK0的空间不够用了
把定义在BANK0中的变量转移出一部分,放到BANK1或者BANK2中,试一下吧,问题可能会解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-12-26 09:32 , Processed in 0.053342 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表