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

 
 
> Странное выражение.
Jenya7
сообщение Dec 30 2014, 07:19
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Переменные объявлены так.
Код
uint8_t txDelay;
unsigned int delay;

Далее в коде есть такая проверка.
Код
if (delay%txDelay==0)

Что человек хотел проверить делением по модулю?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jenya7
сообщение Dec 30 2014, 11:38
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Код
if !(counter % 100) PulseOut();

тут есть проблема.
если счетчик обновляется медленно то это условие присутствует какое то время и я получу несколько пульсов вместо одного.
Go to the top of the page
 
+Quote Post
gerber
сообщение Dec 30 2014, 15:14
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(Jenya7 @ Dec 30 2014, 15:38) *
Код
if !(counter % 100) PulseOut();

тут есть проблема.
если счетчик обновляется медленно то это условие присутствует какое то время и я получу несколько пульсов вместо одного.

Логично ставить проверку условия после обновления счётчика.
Если никак, тогда тоже есть варианты:
Код
if !(counter % 100) PulseUp();
else PulseDown();

или даже так:
Код
if !(counter % 101)
{
  counter++;
  PulseOut();
}

biggrin.gif


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post



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

 


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


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