关于16F877定义的变量存储问题

2019-03-25 19:43发布

我用的是C编译器是PICC9.60,片子是PIC16F877
是这样子的我定义了一个数组如下:
bank3 int re[40];//定义存放A/D转换结果的数组,在bank3中
在未对此数组进行处理的时候,编译可以通过,会但会显示警告
Warning [526] ; . psect "rbss_3" not specified in -P option (first appears in "C:DOCUME~1ADMINI~1LOCALS~1Tempslo.obj")
以及:Extra space:     BANK3                used    50h (    80) of     1h unit    (8000.0%)
如果我在主程序中对定义的此数组操作,则无法编译通过,显示如下的警告与错误:
Warning [526] ; . psect "rbss_3" not specified in -P option (first appears in "C:DOCUME~1ADMINI~1LOCALS~1Tempslo.obj")
Error   [477] ; . fixup overflow in expression (location 0x22 (0xC+22), size 1, value 0x1C8)
Error   [477] ; . fixup overflow in expression (location 0x76 (0x76+0), size 1, value 0x1C8) 我觉得问题处在了bank3这里,如果把bank3改为bank1就可以通过。没有问题。
我想问的是这个问题是不是我编译器的问题,如果要数组存在bank3中,我该如何定义或操作才好
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。