RS -232 или глюки последовательного порта под .NET
От: koctik  
Дата: 25.08.06 08:56
Оценка:
Написал маленькую прораммку на C# котороая посылает данные в последовательный порт бинарные данные и считывает.
Программа очень простая.
Под Win XP работает замечательнольно. А под Win 98 начинает ся развлекалово.
То что читаю с помощью SerialPort.ByteRead() приходит нормально. А то что читаю с помощью SerialPort.Read(byte[] data,int offset, int count) считывает неправильно.
Т.е. первые два байта считываеются с помощью SerialPort.ByteRead() и всё ок а дальше считывается полный бред.
Может кто нить огбьяснит мне такое поведение порта? А ещё как нить расскажет как это исправить.
Вариаант типа использовать ByteRead() для чтения всего контента не предлагать.
Нет ни чего более постоянного, чем то что временно.
RS -232 или глюки последовательного порта под .NET
От: Аноним  
Дата: 25.08.06 09:32
Оценка:
Интересно.

В предыдущем своём проекте, ещё на MS VS2003, я работал с портом используюя АПИшные CreateFile, ReadFile, WriteFile (разумеется, в нормальной обёртке, с функциями упакованными в dll)

В новом проекте (уже на MS VS2005) делаю уже с использованием появившего во втором фреймворке класса SerialPort. Но работу с железом пока не проверял.

msdn говорит, что платформа Windows98 для класса SerialPort поддерживается... но если программа отлично работающая в XP, не корректно работает на 98-м, то скорее всего нормальной совместимости нет (так как Com порт он и есть COM порт, что в DOS-е, что в XP)
-------------------------------------------
надышаться можно только ветром...


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: RS -232 или глюки последовательного порта под .NET
От: koctik  
Дата: 25.08.06 10:48
Оценка:
Всё ребята извините за беспокойство. Сам ступил. Оказыватся что когда ставишь свойство порта Parity в состояние NONE программа считает что бита паритета нет. А потому и сбиивается иснхронизауия и далее прёт всякая ерунда.
Хотя при в Help стоит что он простоо не проверяется, а не отсутсвует ( могу ошибаться. это с моим уровнем знания англиского проблеммы). в общем всем спаисбо.
Нет ни чего более постоянного, чем то что временно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.