В прошлом (15 лет go) я создал небольшую программу на Delphi для мониторинга, записи и отображения временной диаграммы сигналов от связи I2 C между P C и I2 C -sensor. Теперь мне нужно то же самое, и у меня есть большая проблема, чтобы адаптировать его для C#. В общем, я подключаю линию CTS от последовательного порта к линии SCL I2 C и DSR к SDA. Затем я запускаю поток, который читает состояние CTS и DSR (с бесконечным l oop) и сохраняет их в файл. Это код:
void InitCommPort()
{
myCOMport = new SerialPort("COM2", 9600);
myCOMport.Open();
}
while (!bExit)
{
CTS_Signal = myCOMport.CtsHolding;
DSR_Signal = myCOMport.DsrHolding;
}
Проблема в том, что я не могу получить сигналы [CTS и DSR] достаточно быстро, чтобы восстановить протокол связи. На самом деле в основном я могу получить только один из сигналов, и это только часть всей передачи. Я пробовал также «SerialPinChangedEventHandler», но в результате я получаю только «0». Очевидно, что я что-то упустил или просто SerialPort-Class сделан таким образом. Можно ли это сделать с C#? Я не хочу устанавливать Windows XP для чего-то простого. Любая помощь будет оценена. Заранее спасибо