Чт авг 09, 2012 19:33:48
Чт авг 09, 2012 19:48:16
Чт авг 09, 2012 19:52:53
А если сработали оба - надо слать строку QW (ну или WQ).
Чт авг 09, 2012 19:54:29
Чт авг 09, 2012 20:01:24
Т.е. сработавшие символы надо как бы склеиль в строку и отослать.
Чт авг 09, 2012 20:18:05
Чт авг 09, 2012 21:04:55
Просто я боюсь что могу упустить срабатывание датчика пока буду слать.
Чт авг 09, 2012 21:16:31
Чт авг 09, 2012 21:30:45
Чт авг 09, 2012 21:35:05
Тогда я еще больше времени потеряю: пока зашел в прерывание, пока вышел...
Наверно надо тогда создать кучу (по количеству датчиков) переменных типа bit, записывать единовременно в них состояния датчиков на момент опроса,. а потом уж те переменные в которых 1 - датчик сработал, сопоставлять с символом и слать их по очереди, как и советовали.
Ну вот - достаточно было правильно сформулировать вопрос, как ответ пришел сам собой
По любому, частота опроса датчиков не может быть выше, чем частота посылок по UART , поэтому если датчик может "мигнуть" на пару микросекунд, то сигнал может быть пропущен.
Чт авг 09, 2012 21:45:02
da-nie писал(а):По любому, частота опроса датчиков не может быть выше, чем частота посылок по UART , поэтому если датчик может "мигнуть" на пару микросекунд, то сигнал может быть пропущен.
Можно считать, что если за время передачи символа датчик сменил своё состояние на обратное, а потом снова вернулся в начальное на момент начала передачи, то он и не менялся.
Чт авг 09, 2012 21:45:58
Абсолютно правы, и боитесь совершенно правильно.DerMeister писал(а):Просто я боюсь что могу упустить срабатывание датчика пока буду слать. Датчики могут срабатывать "одновременно", точнее с разницей в несколько микросекунд. И пока я буду слать упущу срабатывание. Или я не прав?
C вообще никак не умеет. Умеет написанная на нем программа. А уж что именно она сумеет, зависит лишь от Вашего умения и старания.DerMeister писал(а):Я так понимаю С не умеет делать как я хочу...
Чт авг 09, 2012 22:09:08
Опять непонятно, зачем вам это? Вы всё равно на время пересылки за датчиками следить не будете.
Чтобы не терять данные, нужно несколько усложнить программу добавлением кольцевого буфера FIFO
Чт авг 09, 2012 22:34:44
Интересно, а как Вы собираетесь узнавать сработает ли скоро следующий датчик или нет, и как скоро он сработает ? Это же неизвестно. Когда же его слать, если не сразу ? И когда наступит это "не сразу" ?Поэтому слать первый же сработавший сразу нельзя - можно пропустить следующий сработавший.
Чт авг 09, 2012 22:45:22
Интересно, а как Вы собираетесь узнавать сработает ли скоро следующий датчик или нет
Чт авг 09, 2012 23:21:14
Чт авг 09, 2012 23:27:42
Чт авг 09, 2012 23:31:06
Чт авг 09, 2012 23:35:41
Чт авг 09, 2012 23:55:26