做段码屏显示时遇到的,在“//显示数据的单位”部分switch中使用i没问题,使用running_data_index却不显示,不报错
添加“//该数据类型的符号”部分之前没有这个问题,添加之后出现,但是删掉该部分之后问题依然存在。
u16 running_data[4] = 0; //运行时显示的数据
u8 running_data_index = 0;
u8 running_data_unit[4] = {1,1,2,1}; //显示的数据的单位
u8 i = 0;
if(data_display_time <= 65000)
{
//数码管显示的数据
Ledseg_Disp_Number(running_data[running_data_index]/*running_data*/);
//显示数据的单位
switch(i/*running_data_unit*/)
{
case 1: XBYTE[LED_BUF_SEG_RIGHT] |= SEG_V;break;
case 2: XBYTE[LED_BUF_SEG_RIGHT] |= SEG_Ac;break;
case 3: XBYTE[LED_BUF_SEG_RIGHT] |= SEG_W;break;
case 4: XBYTE[LED_BUF_SEG_RIGHT] |= SEG_KW;break;
}
//该数据类型的符号
switch(i)
{
case 1: XBYTE[LED_BUF_SEG_ICONS] |= SEG_SUN;break; //显示光伏板
case 2: XBYTE[LED_BUF_SEG_ICONS] |= SEG_PLUG;break; //显示插头
}
}
else
{
data_display_time = 0; //计时清零
running_data_index++; //轮流显示下标
i++;
if(running_data_index == 4) //越界判断,共四个数据
{
running_data_index = 0;
i=0;
}
}
水平有限,找不到为啥有问题,求指教!
running_data_unit是个数组啊,你怎么个switch啊
running_data_unit是个数组啊,你怎么个switch啊