[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Совсем нет. sprintf() во всех остальных местах. Вот кусок этого жирного кода (написано на CodeVision):
switch (key)
{
case KEY_START:
BLINK_USER_SYM = 0;
if (curMenuBar->curMbMode == MB_MODE_EDIT_1)
{
curMenuBar->curMbMode = MB_MODE_EDIT_2;
curProgStep = 0;
}
else {
/* Special case: thermostat mode */
if ( ProgramArr[curProgNumber].ProgramBody[curProgStep].step_action == CMD_THERMOSTAT)
{
if (curProgStep)
{
ProgramArr[curProgNumber].ProgramBody[curProgStep].temp = ProgramArr[curProgNumber].ProgramBody[curProgStep-1].temp;
}
else
{
ProgramArr[curProgNumber].ProgramBody[curProgStep].temp = 20;
}
}
if (++curProgStep > MAX_PROGRAM_STEP)
{
curProgStep = 0;
}
}
break;
............
////////////////////////////////////////////
Собственно, 400 слов добавил кусочек в if () {...}, помеченный в комментарии как Special Case (а таких кусочков пока всего 4).
ProgramArr - это массив структур в EEPROM.
E-mail: info@telesys.ru