[求助] 关于16F877定义的变量存储问题

dwlovehome   2011-3-9 10:46 楼主

我用的是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中,我该如何定义或操作才好

回复评论 (1)

不是编译器的问题,摆度 一下看看人家怎么定义的吧 QQ175744595
点赞  2011-3-10 13:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复