void manage_key4(void) //mode key function { if(Modeindex==0) { Modeindex=Modeindex+1; Display_num_buffer[0]=0x00; Display_num_buffer[1]=0x00; Display_num_buffer[2]=0x00; Display_num_buffer[3]=Display_num_data[0]; Display_num_buffer[4]=0x00; Display_num_buffer[5]=0x00; Display_num_buffer[6]=0x00; HT1621_SUCCESSIVE_DISPLAY(); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); if(Mode_flag==0) Mode_flag=1; else { Mode_flag=0; Scalevalue.float_four_1byte[0]=HT93LC46_READ_ONE_BYTE(0x09); DELAY_TIMES(0x0A); Scalevalue.float_four_1byte[1]=HT93LC46_READ_ONE_BYTE(0x0A); DELAY_TIMES(0x0A); Scalevalue.float_four_1byte[2]=HT93LC46_READ_ONE_BYTE(0x0B); DELAY_TIMES(0x0A); Scalevalue.float_four_1byte[3]=HT93LC46_READ_ONE_BYTE(0x0C); DELAY_TIMES(0x0A); } } else if(Modeindex==1) { Modeindex=Modeindex+1; Display_num_buffer[0]=0x00; Display_num_buffer[1]=0x00; Display_num_buffer[2]=0x00; Display_num_buffer[3]=Display_num_data[1]; Display_num_buffer[4]=0x00; Display_num_buffer[5]=0x00; Display_num_buffer[6]=0x00; HT1621_SUCCESSIVE_DISPLAY(); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); } else { Modeindex=0; Display_num_buffer[0]=0x00; Display_num_buffer[1]=0x00; Display_num_buffer[2]=0x00; Display_num_buffer[3]=Display_num_data[2]; Display_num_buffer[4]=0x00; Display_num_buffer[5]=0x00; Display_num_buffer[6]=0x00; HT1621_SUCCESSIVE_DISPLAY(); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); DELAY_TIMES(0xFF); } }
时间: 2024-04-12 16:33:27 浏览: 91
void及void指针(C,C++)
4星 · 用户满意度95%
根据你提供的代码,`manage_key4()` 函数是用于处理模式切换的按键功能的。在函数中,你使用了一个 `Modeindex` 变量来追踪当前的模式。根据 `Modeindex` 的不同值,会执行不同的操作。
首先,如果 `Modeindex` 的值为0,会执行一系列操作。首先更新 `Display_num_buffer` 数组的元素以显示相应的数据,并调用 `HT1621_SUCCESSIVE_DISPLAY()` 函数来显示更新后的数据。然后会延迟一段时间。接着,会根据 `Mode_flag` 的值来判断操作。如果 `Mode_flag` 的值为0,会将其置为1。否则,会将其置为0,并从 `HT93LC46` 中读取一些数据并存储到 `Scalevalue.float_four_1byte` 数组中。
接下来,如果 `Modeindex` 的值为1,会执行一系列操作,类似于上面的步骤。
最后,如果 `Modeindex` 的值不是0也不是1,则将其重置为0,并执行一系列操作,类似于上述步骤。
以上是根据你提供的代码推断出的解释。如果还有其他细节或问题,请告诉我。
阅读全文