标题:
求助各位大神,帮忙看下IAP15W4K58S4单片机最小系统程序出现下列错误的原因是什么?
[打印本页]
作者:
maple.lee
时间:
2021-11-18 15:50
标题:
求助各位大神,帮忙看下IAP15W4K58S4单片机最小系统程序出现下列错误的原因是什么?
程序要实现的功能如下:
//首先,把二维数组Color_Library中的[9][0~7]的数据,赋值给一维数据WsDat[0~103],再调用显示函数Display_Color(WsDat[c]);发送到对应的LED灯珠上。
//然后,把二维数组Color_Library中的[10][0~7]的数据,重新赋值给一维数据WsDat[0~103],再调用显示函数Display_Color(WsDat[c]);发送到对应的LED灯珠上。
C51程序如下所示,我试着改了三种不同的书写方式,只有第三种才能正确运行。请各位大神帮忙看下,为什么会出现下述情况!
//第一种写法,如下所示;在IAP15W4K58S4最小系统中运行出错。LED灯珠无显示。
void WaterLampToColor28()
{
unsigned char a,b,c,d;
for(d=0;d<2;d++)
{
for(a=0;a<13,a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[d+9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
}
}
//如下所示,第二种书写方式,在IAP15W4K58S4最小系统上运行仍然错误。LED灯珠无显示。
void WaterLampToColor28()
{
unsigned char a,b,c;
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[10][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
//第三种书写方式,在IAP15W4K56S4最小系统上运行正常。
void WaterLampToColor28()
{
unsigned char a,b,c,d,e,f;
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
for(d=0;d<13;d++)
{
for(e=0;e<8;e++)
{
WsDat[e+d*8]=Color_Library[10][e];
}
}
for(f=0;f<LED_num;f++)
{
Display_Color(WsDat[f]);
}
Delay_Xms(7);
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1