Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Зчитати дані з COM порта C#

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Вибачайте, якщо щось не так запитую, C# тільки почав вчити. Питання полягає в наступному. Є плата № 1 з дисплеєм, на якому відображається рівень сигналу та інші параметри і плата № 2. З плати № 1 передаються пакети в плату № 2. Є ще одна плата № 3, яка перехоплює ці пакети і яка підключається до комп’ютера через COM порт. Потрібно зчитати дані з COM порта і отримати значення, які відображаються на дисплеї. Дані зчитую за допомогою методу Readexisting() класу SerialPort, але дані відображаються в незрозумілих символах. Пробував зчитувати через іншу програму результат такий :

CCA Fail % 0.0
Retries 3
LQI 0
?Channel 11
Mode Ack
Seen 0
Total 45207
PER % 100.0

Ось в такому вигляді і потрібно отримати інформацію. Підкажіть будь — ласка як це зробити. Можливо потрібно змінити кодування і як це зробит, чи можливо є інші способи? Дякую за відповідь.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Правильно тобі порадили.
1. 90% помилок початківця при роботі з СОМ-портом в неправильних настройках швидкості, контроля парності, перевір чи дійсно правильно і однакові виставлені параметри з обох сторін.
2. Перш, ніж писати програму перевір чи справді пристрій з іншої сторони відповідає за допомогою котроїсь термінальної програми HyperTerm etc. (якщо використовуєш вбудовані віндову рекомендую включити налаштування виводити свій ввід).

Полная абстракция :)
Для начала, работай с платой низкоуровнево — используй какую-нибудь готовую терминальную программу (у Нортон Коммандер был Terminal Emulation :), которая работает с com портом, и отображает на мониторе. Если идет мусор — либо это какой-то внутренний протокол обмена данными, либо неверно инициализирован порт (кол-во битов данных, стартовых и стоповых битов, контроль потока)

Что хоть за плата такая?

PER % 100.0

Оппа... Это Parity Error чтоле? Ошибка четности — не совпадает кол-во битов четности UART на плате, и твоего порта в компьютере. Нужно настраивать параметры com порта (обычно по умолчанию 8n1 — 8 бит данных, без четности, один стартовый бит, один стоповый, скорость порта 9600 бод).

отсюда можешь скачать мануал с AT командами этого девайса:www.meshnetics.com/...re/at-commands

Підписатись на коментарі