[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено BJ 10 мая 2002 г. 14:34
В ответ на: Наверняка там sprintf. Перепишите. отправлено BLACKEAGLE 10 мая 2002 г. 14:21

Совсем нет. 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