Длительность сигналов логического нуля и единице шлагбаума came.
- Войдите на сайт для отправки комментариев
Втр, 13/11/2018 - 05:54
Привет.
Не смог понять какие, точно длительности сигналов логического нуля и единице в шлагбауме came.
На форумах пишут:
digitalWrite(txPin, LOW); // лог. 1
delayMicroseconds(640);
digitalWrite(txPin, HIGH);
delayMicroseconds(320);
digitalWrite(txPin, LOW); // лог. 0
delayMicroseconds(320);
digitalWrite(txPin, HIGH);
delayMicroseconds(640);
Исходя из этого кода, получается что лог. единица и нуль имеют один и тот же период, а отличаются скважностью.
Но когда я снял осциллограмму увидал, что периоды тоже разные. Вот возник у меня вопрос как такое может быть ?

Из осциллограммы не видно, чтобы периоды были разными. Скорее, наоборот, одинаковые.
Да вы правы, после еще раз пересмотрел осциллограммы.
Ну тогда я не понимаю. Человек приводит код для открытия шлагбаума.
// функция отправляет код в эфир void SendCame4(long Code) { for (int j = 0; j < 7; j++) { // посылку посылаем 4 раза подряд. // время стартового импульса digitalWrite(txPin, HIGH); delayMicroseconds(320); digitalWrite(txPin, LOW); for (int i = 12; i > 0; i--) { byte b = bitRead(Code, i - 1); // побитово перебираем и посылаем код if (b) { digitalWrite(txPin, LOW); // 1 delayMicroseconds(640); digitalWrite(txPin, HIGH); delayMicroseconds(320); } else { digitalWrite(txPin, LOW); // 0 delayMicroseconds(320); digitalWrite(txPin, HIGH); delayMicroseconds(640); } } digitalWrite(txPin, LOW); delayMicroseconds(11520); } }В котором видно, что логическая единица состоит из временных интервалов, 640 мкс low и 320 мкс HIGH. И наоборот будет логический нуль.
Если нарисовать временные диаграммы, то не получится как на осциллограмме.
его не поя то?
Один такой фрагмент под буквами "ST" в слове STOP, другой - над "CH2".