реклама на сайте
подробности

 
 
> IAR EWARM 5.11, Компильните кто-нибуть приаттаченный файл на уровне оптимизации High (
Dir
сообщение Mar 26 2008, 22:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



То ли я где-то вирей набрался, то ли совсем крыша едет, но у меня компиллер вылетает на этом простейшем примере с грозным предупреждением о неизвестной фатальной ошибке.
Причем на низких уровнях оптимизации все ОК. Также перестает вылетать, если раскомментарить закоментаренный код.
Что это может быть: баг компилятора, погрызенный вирем комп, глюки лицензионного менеджера? Проверьте у кого 5.11 и подскажите, что делать. Глючит аналогично на двух компах. Но поиск вирей пока ничего не дал.

Пардон, с файлом что-то не получилось. Код вот:

Код
typedef unsigned short WORD;
typedef struct
{
    float fKp;
    float fKi;
    float fKd;
    float fLastProcessValue;
    float fLastIterm;
    float fSumError;
    float fMaxPID;
    float fMinPID;
} PID_DATA;

WORD ControllPID(float fSetPoint, float fProcessValue, PID_DATA *pid)
{
static float fmProcessValue[16], fmError[16], fmPterm[16], fmDterm[16], fmIterm[16], fmRet[16];
static int index=0;
float fError, fPterm, fDterm, fIterm, fRetPD, fRet;

    fError = fSetPoint - fProcessValue;
    fmProcessValue[index] = fProcessValue;
    fmError[index] = fError;
    fPterm = pid->fKp * fError;
    fmPterm[index] = fPterm;
    fDterm = pid->fKd * (fProcessValue - pid->fLastProcessValue);
    fmDterm[index] = fDterm;
    pid->fLastProcessValue = fProcessValue;
    fIterm = pid->fKi * (pid->fSumError + fError);
    fmIterm[index] = fIterm;
    fRetPD = fPterm + fDterm + pid->fMinPID;
    fRet = fRetPD + fIterm;
    fmRet[index] = fRet;
/*
    if (++index == 16)
        return (WORD)pid->fMinPID;
*/
    if (fRet > pid->fMaxPID)
        return (WORD)pid->fMaxPID;
    else if (fRet < pid->fMinPID)
        return (WORD)pid->fMinPID;
    pid->fLastIterm = fIterm;
    pid->fSumError += fError;
    return (WORD)fRet;
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.02514 секунд с 7
ELECTRONIX ©2004-2016