|
【求助】 keilc编程 我用的是sm8958a
[复制链接]
我用的是 sm8958a
在定义pdata的时候是这样定义的,
#include
#include
#include
.
.
pdata unsigned int y1[24];
pdata unsigned int ports1[2][24];
.
.
.
main()
{
unsigned int i;
unsigned char zz[4];
Delay(200);
z[0]='1';z[1]='2';z[2]='3';z[3]='4';
init_serialcomm(); //初始化串口
Delay(200);
SCONF|= 0x02;
//调入初始值
ports1[0][0] =1; ports1[0][1] =1; ports1[0][2] =1; ports1[0][3] =1; ports1[0][4] =1; ports1[0][5] =1;
ports1[0][6] =1; ports1[0][7] =1; ports1[0][8] =1; ports1[0][9] =1; ports1[0][10]=1; ports1[0][11]=1;
ports1[0][12]=1; ports1[0][13]=1; ports1[0][14]=1; ports1[0][15]=1; ports1[0][16]=1; ports1[0][17]=1;
ports1[0][18]=1; ports1[0][19]=1; ports1[0][20]=1; ports1[0][21]=1; ports1[0][22]=1; ports1[0][23]=1;
ports1[1][0] =0x07F; ports1[1][1] =0x0FF; ports1[1][2] =0x0FF; ports1[1][3] =0x07F; ports1[1][4] =0x0FF; ports1[1][5] =0x0FF;
ports1[1][6] =1; ports1[1][7] =1; ports1[1][8] =1; ports1[1][9] =1; ports1[1][10]=1; ports1[1][11]=1;
ports1[1][12]=0x07F; ports1[1][13]=0x00; ports1[1][14]=0x20; ports1[1][15]=0x20; ports1[1][16]=0x20; ports1[1][17]=0x0FF;
ports1[1][18]=0x0FF; ports1[1][19]=0x00; ports1[1][20]=0x0FF; ports1[1][21]=0x0FF; ports1[1][22]=0x0FF; ports1[1][23]=0x0FF;
//调入初始值
y1[0]=0;y1[1]=1;y1[2]=2;y1[3]=3;y1[4]=4;y1[5]=5;y1[6]=6;y1[7]=0;y1[8]=0;y1[9]=0;y1[10]=0;y1[11]=0;
y1[12]=0;y1[13]=1;y1[14]=2;y1[15]=3;y1[16]=4;y1[17]=5;y1[18]=6;y1[19]=0;y1[20]=0;y1[21]=0;y1[22]=0;y1[23]=0;
.
.
.
.
.
}
上面的这个调试调不通,整个程序就乱了。
我要是去掉一个pdata unsigned int y1[24]; 或 pdata unsigned int ports1[2][24];及其对应的函数,就没有问题了。这两个数组分别在两个函数里用。
求助高手帮我分析分析,是什么问题。
|
|