все проверки можно делать в начале обмена данными при первом импульсе сброса. - сначала проверяется состояние свободной линии - если 0 (не свободна) - значит закорочена на 0, возвратить код ошибки 1. - далее выдать 0 в линию (начать стартовый импульс), через несколько мкс проверить ее состояние (для AVR прочитать соответствующий регистр PINx) - если 1, то линия закорочена на +, отпустить линию и возвратить код ошибки 2. - продолжить обмен данными - если не было импульса присутствия - возвратить код ошибки 3, неправильная CRC - ошибка 5. - если все хорошо, возвратить код ошибки 0 и измеренное значение.
Сообщение отредактировал ukpyr - May 27 2009, 11:21
|