Подключкние СПТ943.1 к Ардуино

Здравствуйте! Написал программу для Ардуино которая опрашивает счетчик СПТ943.1 согласно протоколу М4. Но вместо ответов счетчик присылает нули. Возможно подключился не так. Вот линк протокола и там же на стр 21 имеется схема подключения которую я реализовал у себя. http://www.teplocom.msk.ru/data/support/docs/gaz/spg/protM4_rev00.pdf

Хе. Не может быть. СПТ не такой.
Он скорее промолчит, чем лишнего ляпнуть
Скорей всего, не то или не там смотришь.

Дааа. В этом вы точно правы!!! Он вообще “партизан”! Все верно, смотрел не туда. Проблема в следующем: отправляю ему команды согласно протоколу, которые приходят на счетчик, что видно на осциллографе а СПТ благополучно молчит. Что делать парни?

В “Логике” отличные, отзывчивые бойцы сидят :wink:
Можете попробовать запросить помощь у них.

Ну я написал им вчера жду пока ответят

Наглый пацан попался, однако.
И тупой.
Почему бы идиоту не изучить как пролог например команды шлет?
или тот же лэрс

наверняка от избытка интеллекта вы такой “красноречивый”. Я изучил протокол соединения. Дело в том что если СПТ пришлет любую команду он пришлет его в пакете, в котором имеется заголовок т.е. стартовый байт 0x10, свой сетевой адрес 0…255, команда с которой его вызвали, код канала 0…2. А уж потом в теле пакета передаст свою команду. Так у меня проблема в том, что ничего не приходит ни какой структуры пакета.

  1. Подать питание (Dtr|Dsr)
  2. Разбудить СПТ, послать 25-50 байт 0xFF 2400, 8n1
    Пауза 100-200 мс
  3. Запросить тип 10 01 3F 01 00 00 00 BE 16
    Для сетевого адреса 01, а для широковещательного - 254 (любой ответит)
    10 FE 3F 01 00 00 00 C1 16

Нет так?

И еще - ардуино, хренуино - вообще-то в порт что-то передает? Сделай шлейфик на комп, посмотри ваще что шлешь.
Еще огрызается, смотри ка

спасибо всем за участие, проблема решена! Проблема была в том, что необходимо было заменить аппаратный преобразователь уровней. Исходный не инвертировал биты(( С вашего позволения еще 2 вопроса.

  1. Аппаратно инвертировать биты немного накладно. тогда я попытался сделать это программно т.е. перед отправкой очередного байта инвертировал его побитовой not (~), но это не помогло. Возможно ли вообще программно это сделать?
  2. Как мне получить текущую дату и время и можно ли это сделать через канал Т1? В протоколе крайне мало информации. Хочу считать архивные данные.
    PS: Прошу не бить палками тупого новичка.

См.стр. 6 и 14
Все ж в открытом доступе, на сайте Логики
Буквы то выучил уже?
prot943_02.pdf (284 KB)

Нет, слишкам сложна букафки