我用的是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~1\ADMINI~1\LOCALS~1\Temp\slo.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~1\ADMINI~1\LOCALS~1\Temp\slo.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中,我该如何定义或操作才好