Как проверить последовательную / гипертерминальную интеграцию с C#?
Мне нужно разработать программное обеспечение для USB-весов, которое, когда вы нажимаете на него кнопку, посылает последовательные сообщения через USB. Я могу видеть значения в HyperTerminal.
Я собираюсь использовать классы.NET для последовательной связи, чтобы перехватить данные.
Проблема в том, что у меня нет шкалы. Весы подключены к удаленному компьютеру, на котором я могу RDP. Когда я хочу проверить, я могу попросить клиента нажать кнопку на шкале.
Я не могу просить клиента нажимать кнопку 100 раз в день, мне нужно найти способ развить достаточно разумное представление о том, о чем будет сообщать шкала, и тестировать только тогда, когда я думаю, что у меня есть решение.
Я ищу что-то локальное, что может имитировать масштаб и отправлять на мои классы.NET Serial те же выходные данные, что и масштаб. В идеале, если бы я мог записать данные весов, а затем воспроизвести их на другом компьютере, это было бы идеально.
Как бы я это сделал?
3 ответа
1) Абстрагируй свой код связи. В тестовом режиме подпишите свою логическую функцию из потока файлов данных, а не из последовательного потока.
или же
2) Если у вас есть 2 последовательных порта (или два компьютера), то настройте приложение эмулятора масштаба, которое подключается через один порт, и подключите его к другому порту, на котором работает ваше программное обеспечение.
У вас есть две проблемы:
- Протестируйте классы.NET Serial, чтобы убедиться, что они могут обрабатывать получение данных (любых данных) через последовательный порт
- Протестируйте свое приложение, чтобы убедиться, что оно может обрабатывать данные определенного типа, которые вы получаете из шкалы.
1. Вы можете протестировать, подключив все, что может генерировать данные (например, другой компьютер с Hyperterminal) к локальному последовательному порту вашего компьютера.
2. Вы можете проверить 2. путем (для целей тестирования) замены ваших последовательных классов программным обеспечением, которое действует как "фиктивный объект" для комбинации "последовательные классы + масштаб" (т. Е. Которая подается в вашу программу с использованием API, который будут использоваться вашими последовательными классами). использовать данные, которые вы ожидаете получить от шкалы).
Вы также можете проверить 1 и 2:
- Написание программы, которая притворяется шкалой, отправляя тип данных, которые будут отправлены шкалой
- Запуск этой программы для отправки данных из последовательного порта
- Использование нуль-модема для соединения двух последовательных портов друг с другом (чтобы данные, отправленные с одного порта, были получены другим в вашем программном обеспечении).