大家好!我在用PICC编绎器的时候遇到一个问题!就是自动变量只能存放在bank0中,而存放在bank1~3中在编绎时就会出错。而bank1~3只能存放静态变量。我的程序很简单。以下图1为PICC编绎的错误提示,而图2是MPLAB中带自的C编绎中的提示,虽然没有提示,但是就出现在一个警告。
#include <pic.h>
void main(void)
{
bank1 char i;//为什么这里编绎会出错,但是改为“char i;”就没有错了。
i=12;
while(1);
}
图1
(原文件名:错误提示.JPG)
图2
(原文件名:MPLAB自带C编绎器中也会警告.JPG)
更可笑的是,我在
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4373781&bbs_page_no=1&search_mode=3&search_text=lgh050706&bbs_id=9999
http://pic16.com/bbs/dispbbs.asp?boardid=24&Id=54463
发了一个帖子,竟然没有人有正面的回答,只不是表明这个问题只有我遇到,而大家就从来没有遇到啊!
pic变态!
-----------------------------------------------------------------------
完全同意!
一个函数代码太多了也不行,编译出错,要分成几个函数。
定数大的数组缓冲区也不行,要定义成几个小的,自己在代码里组合分解。
使用的大端格式,和PC以及现有的主流单片机相反,代码移植麻烦。
指针也有好多讲究,难。。。
(原文件名:41MH`4Y630}E~77QKH)P@%6.jpg)
乱操心,有必需这样研究吗?
-----------------------------------------------------------------------
前辈!你的意思是不是说:“不管什么情况都不用考虑到bank的问题是吗”。如果你是这种心态的话用PICC会出现很多麻烦的!
2ndly, later PICC compilers don't require the bank modifier. that's true for compilers as early as 9.60 and potentially earlier.
3rdly, always read the compiler manual.
一周热门 更多>