Длительность сигналов логического нуля и единице шлагбаума came.

Alex_Golubev
Offline
Зарегистрирован: 13.11.2018

Привет. 

Не смог понять какие, точно длительности сигналов логического нуля и единице в шлагбауме came.

На форумах пишут: 

        digitalWrite(txPin, LOW); // лог. 1
        delayMicroseconds(640);
        digitalWrite(txPin, HIGH);
        delayMicroseconds(320);

        digitalWrite(txPin, LOW); // лог. 0
        delayMicroseconds(320);
        digitalWrite(txPin, HIGH);
        delayMicroseconds(640);

Исходя из этого кода, получается что лог. единица и нуль имеют один и тот же период, а отличаются скважностью. 

Но когда я снял осциллограмму увидал, что периоды тоже разные. Вот возник у меня вопрос  как такое может быть ? 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Из осциллограммы не видно, чтобы периоды были разными. Скорее, наоборот, одинаковые.

Alex_Golubev
Offline
Зарегистрирован: 13.11.2018

Да вы правы, после еще раз пересмотрел осциллограммы. 

Ну тогда я не понимаю.  Человек приводит код для открытия шлагбаума. 

// функция отправляет код в эфир
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. И наоборот будет логический нуль. 

Если нарисовать временные диаграммы, то не получится как на осциллограмме. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

его не поя то?

Один такой фрагмент под буквами "ST" в слове STOP, другой - над "CH2".