Программа CAPL в инструменте CANanalyzer 7.0 - PullRequest
1 голос
/ 06 июля 2011
/*@@var:*/
variables
{

int a,b;
mstimer ramky;
}
/*@@end*/

/*@@startStart:Start:*/
on start
{ settimer (ramky,500);
}
/*@@end*/

/*@@timer:ramky:*/
on timer ramky
{

write("timer was started");
}
/*@@end*/

/*@@key:'a':*/
on key 'a'
{
write("hey u have pressed the key a");
a=5;
b=51;
check();
}
/*@@end*/

/*@@caplFunc:check():*///function
check ()
{
for(;a<=50;a++)
write("a=%d b=%d",a,b);
write("a=%d b=%d",a,b);
//again();

}
/*@@end*/

/*@@caplFunc:again():*///function
again ()
{
while(a==b)
write(" and b are same");
}
/*@@end*/

это программа, выполняемая в инструменте CANanlyzer 7.0, тогда мой вывод был нулевым, а мой компьютер зависал, поэтому я хочу знать, что будет причиной отказа в выводе? Есть ли проблема в программе?

1 Ответ

0 голосов
/ 12 января 2012

Я вижу, что CAPL-скрипт не очень хорошо проработан. Здесь вы сначала устанавливаете таймер, а затем не сбрасываете снова. Переменные, объявленные в событии On key, должны быть сделаны в разделе глобального объявления, потому что вы не передаете переменные в качестве аргументов в вызове функции. возможно код застревает при вызове функции check ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...