Принес я сегодня на работу свою железку с программой и имею 2 новости: плохую и хорошую.
Хорошая - девайс работает со станцией АТ-ПС-ПД и даже что-то принимает и передает!
Плохая - найти бы того умника, который перепутал старшие и младшие биты в кодировке МТК-2 (ГОСТ 15607-84) и расплодил по всему интернету неправильную таблицу кодов! Так-что все наши кодеры-декодеры на переплавку. Даю ссылку на Гост и обратите внимание - там младший бит слева.
http://protect.gost.ru/v.aspx?control=8&baseC=6&page=0&month=-1&year=-1&search=&id=136607&pageK=ABD3B0E0-C4C6-4C8A-9EFA-25626C6A5797
Этот топик читают: Гость
Ответов: 125
Рейтинг: 0
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
bestsponsor, и кто тебе биты давал тебе дали "номер кодовой комбинации" . Биты -это твоя забота. Ты ж в своих схемах на COM что подавал ? - "номер кодовой комбинации"
|
|||
карма: 25 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Tad писал(а): "номер кодовой комбинации"Наверное, все же не номер, а саму комбинацию, а вот изменять последовательность бит надо в контроллере, а не на порту. Так что, bestsponsor, -- это твоя работа |
|||
карма: 22 |
|
Ответов: 125
Рейтинг: 0
|
|||
Вы меня не поняли. Вы все так-же как и я ввели в свои варианты кодеров-декодеров неправильные коды. Например буква А имеет код "3" - то есть 00011, а мы повводили код "24" - 11000. И так все. И никакие последовательности бит менять не нужно. Та таблица, которую я давал на первой странице правильная, а чуть ниже Tad выложил вытянутую из интернета неправильную таблицу. Я клюнул на удобное оформление второй и не сообразил ее проверить. Так что как ни крути - а коды неверные и по интернету таких обманок 80%.
|
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Ну, во первых, я MTK2 делал по твоей выкладке методом баналного Copy/Paste
И "А" у меня именно выдает 3, а "D" и "Д" - 9, Lat=1F (31) а Rus=0. Не надо ля-ля. И если кто набрал свой декодер с помощью Case, то я не виноват. |
|||
карма: 25 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
bestsponsor писал(а): Например буква А имеет код "3" - то есть 00011, а мы повводили код "24" - 11000Вот не надо ля-ля -- в ГОСТ'е конкретно написано -- "посылка стартстоповой комбинации" и про код там совсем ничего не написано. За передачу бит слева-направо или справа-налево отвечает контроллер а не порт (сдвиг влево или вправо через флаг переноса) |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
bestsponsor писал(а): Так что как ни крути - а коды неверные Так что как ни крути - а коды верные (отвечаю за компонент MTK2) и... нечего на зеркало пенять |
|||
карма: 25 |
|
Ответов: 125
Рейтинг: 0
|
|||
nesco писал(а): Вот не надо ля-ля -- в ГОСТ'е конкретно написано -- "посылка стартстоповой комбинации" и про код там совсем ничего не написано. За передачу бит слева-направо или справа-налево отвечает контроллер а не порт (сдвиг влево или вправо через флаг переноса)------------ Дoбавленo: Tad писал(а): (отвечаю за компонент MTK2Я не утверждал, что Ваш компонент неверный. Табличка, которую Вы опубликовали на первой странице - вот там неверно. А в схемах Nesco как раз эти неверные коды и используются. |
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
bestsponsor писал(а): Вы в своих схемах посылаете в СОМ порт код МТК-2 - этот код неверный Слушай -- ну неверный и неверный, а дальше то что Тебе дали примеры, ты нашел ошибку, ну так и исправь ее, проблема то в чем |
|||
карма: 22 |
|
Ответов: 125
Рейтинг: 0
|
|||
Да я уже исправил (не все - ошибки из-за спешки есть ). Хотел людей предупредить. ------------ Дoбавленo: Кому интересно - последний вариант с полностью переработанным кодером-декодером. Причем декодирует довольно быстро. http://ifolder.ru/7896238 ------------ Дoбавленo: Если я кого обидел, то искренне прошу прощения. Вы мне все здорово помогли. Большое Вам спасибо и удачного Вам бизнеса! ------------ Дoбавленo: Еще немного подправил http://ifolder.ru/7896978 |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
bestsponsor писал(а): Вы опубликовали на первой странице - вот там неверно. ------------ Дoбавленo: bestsponsor писал(а): Да я уже исправил |
|||
карма: 25 |
|
Ответов: 125
Рейтинг: 0
|
|||
Tad писал(а): Если сделал конвертор на мультике, то молодец, а если исправлял все Case, то нет.Я схемку выложил. Можете оценить. Tad писал(а): Там автор таблички выводит биты начиная с первого (нулевого) ( между прочим как и в табличке ГОСТа ) и почему вы решили, что с последнего - тайна сие великая, даже очень.А я думал это пятибитный двоичный код, в котором как и во всех двоичных, принято младший бит располагать справа, а старший слева. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
bestsponsor писал(а): Я схемку выложил. Можете оценить. |
|||
карма: 25 |
|
Ответов: 125
Рейтинг: 0
|
|||
Попробуйте так:
http://rapidshare.com/files/141056414/Project124.sha Там в схеме еще нужно будет сделать изменения (не успел) : при подключении в линию будет передаваться запрос автоответа (вместо ВК ПС), добавится работа с автоответами, сохранение передаваемых сообщений и печать содержимого окна приема после разъединения + сохранение сообщения в отдельный файл. ------------ Дoбавленo: P.S. Провел сегодня полевые испытания - все работает! |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
bestsponsor, скачал, посмотрел. Нормально.
Вижу сделал по принципу компонента МТК2 и сразу получил оба кода в IntegerArray. Теперь осталось прописать в автозагрузку и загнать прогу в трей, чтобы оператор мог раскладывать пасьянс bestsponsor писал(а): Там в схеме еще нужно Успехов! ------------ Дoбавленo: nesco, хотел открыть новую тему, но думаю что можно и здесь. Есть
Возможности и чего не хватает (красным): 1. Чтение ЗНАЧЕНИЯ по ИМЕНИ. нет индекса 2. Чтение ЗНАЧЕНИЯ по ИНДЕКСУ. нет имени В обеих случаях имеем на выходе только ЗНАЧЕНИЕ. Нет вывода имени и индекса по значению |
|||
карма: 25 |
|