Я писал сценарий CAPL, который отправил сообщение по каждому каналу (2 нокаута) после некоторой задержки. Следующая задержка, которую я хочу сгенерировать, используя SetTimer() и mstimer :: isRunning функция. Я могу использовать функцию setTimer, но я не знаю, как использовать mstimer :: isRunning. Код показан ниже:CAPL Программирование использования таймера в качестве задержки
Variables{
message * temp = {DLC=8};
mstimer timer1;
}
on timer timer1{
//Do nothing
}
onstart{
for(noofChannel=1;noofChannel<=2;noofChannel++){
settimer(timer1,100);
temp.CAN = noofChannel;
temp.ID = 0xAA;
While (mstimer::isrunning)==0 // I need to write this right.
{ //wait for timer to expire}
Output(temp);
}
Задавая материал о CAPL, важно указать, если вы находитесь в «Моделирование» или в режиме «Тест». Некоторые функции доступны/отключены в зависимости от того, какой сценарий вы пишете. – PlamZ
Спасибо за совет! Я использовал режим Simulation, но мне было нужно решение, совместимое как с симуляцией, так и с Realtime. –