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

 
 
 
Reply to this topicStart new topic
> выбрасывает часть кода
SZ0
сообщение Feb 28 2006, 03:40
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



Может условия по другому поставить?

if(((time_cpu.secn & 0x0f)+1)==10)//=10 секунд?
{
if(((time_cpu.secn & 0xf0)+1)==0x60)//=60 секунд?
{
//установить флаг f_sinctime=1
time_cpu.secn++;//команда вставлена, чтобы компилятор не вырезал код
}
else
{
time_cpu.secn += 0x10;
};
}
else
{
time_cpu.secn++;
};

Выбрасывает
if(((time_cpu.secn & 0xf0)+1)==0x60)//=60 секунд?
{
//установить флаг f_sinctime=1
time_cpu.secn++;//команда вставлена, чтобы компилятор не вырезал код
}

Может сам что сглупил, ночь не спал... Но вроде не должно выкидывать код...
Go to the top of the page
 
+Quote Post
viakon
сообщение Feb 28 2006, 04:07
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Условие (((time_cpu.secn & 0xf0)+1)==0x60) невыполнимо ни при каких значениях time_cpu.secn вот оптимизатор и выбрасывает ненужный код
Go to the top of the page
 
+Quote Post
John
сообщение Feb 28 2006, 05:21
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 6-10-04
Пользователь №: 799



Попробуй так
if(((time_cpu.secn & 0xf0)+ 0x10 )==0x60)//=60 секунд?

или что нибудь по проще, например:

time_cpu.secn++;//инкремент раз в секунду

if(time_cpu.secn%10 == 0)
{
//10 секундное событие
}

if(time_cpu.secn%60 == 0)
{
//60 секундное событие
time_cpu.secn = 0;
}
Go to the top of the page
 
+Quote Post
SZ0
сообщение Mar 1 2006, 15:43
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 14-02-06
Пользователь №: 14 331



if(((time_cpu.secn & 0xf0)+ 0x10)==0x60) //=60 секунд

Именно это условие и заработало! Просто скопировал верхнее, а корректно код не поправил. Кстати, может быть частой ошибкой - копируем похожий код, а правим не всё корректно.
Go to the top of the page
 
+Quote Post

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

 


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


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