Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с портами? 
:(
    Опции темы
WaReZMEN
Дата 30.1.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Меня интересует как на C# работать с RS232 портом?  И вообще работа с портами?
Тоесть как что делается какие функций и т.д.
PM MAIL ICQ   Вверх
marcusmae
Дата 30.1.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Если я правильно понимаю, RS232 - это стандарт интерфейса, а работать Вы хотите с сериал-портом.

1. Статья - не подойдёт?
Код

using System.IO.Ports;

2. Ещё одна - но не уверен, что предлагаемый там SDK бесплатный.


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
WaReZMEN
Дата 30.1.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Да RS232 это что то типа com порта...
PM MAIL ICQ   Вверх
WaReZMEN
Дата 31.1.2007, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



А как с USB портами работать?
PM MAIL ICQ   Вверх
WaReZMEN
Дата 31.1.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Не ужели никто не работал с USB????
PM MAIL ICQ   Вверх
СЭНСЭЙ
Дата 16.4.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



А кто знает как написать обработчик события, реагирующий на посылку сигнала на ком порт?
Нужно типа сервиса написать для спаяного прибора, который на ком порт посылает строки символов.
PM MAIL   Вверх
stashe
Дата 16.4.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 5.1.2007
Где: Донецк

Репутация: 1
Всего: 1



СЭНСЭЙ, уточни плиз (не совсем понял что хошь), у мя есть класс, посылающий, принимающий, команды с прибора по ком порту (проверки и т.д.)

Добавлено через 1 минуту и 32 секунды
Код

   protected void OnReceiveEvent(Object sender, SerialDataReceivedEventArgs e)
    {
        int byteToRead = 0;
        string msg = "";
        byteToRead = SerialPort.BytesToRead;
        string[] msgToMainForm ;
        if (byteToRead > 0)
        {
            msg =  SerialPort.ReadExisting();           
        }

        msgToMainForm = GetFormattedMessage(msg);
        for (int i = 0; i < msgToMainForm.Length; i++)
        {
            if (msgToMainForm[i] != null) MessageToMainForm(msgToMainForm[i]);
        }        
        MessageToMainForm(msg);
    }


щяз оч. занят могу завтра поподробней если интересно ()

Добавлено через 4 минуты и 6 секунд
Код


public delegate void DeviceMessageHandler(object sender, MessageFromDeviceArg e);

public class MessageFromDeviceArg : EventArgs
{
    public string msg;

    public MessageFromDeviceArg(string _msg_)
    {
        msg = _msg_;
    }
}


    protected void MessageToMainForm(string str)
    {
        object sender = System.Threading.Thread.CurrentThread;
        MessageFromDeviceArg e = new MessageFromDeviceArg(str);
        MainForm.MainFormDeviceMsgHandler(sender,e);
    }


я сейчас тупо запостил, не читая и не исправляя, работает, если что, завтра объясню, исправлю и т.д. 
PM   Вверх
СЭНСЭЙ
Дата 16.4.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Спосибо за ответ. Буду проверять. На первый взгляд - похоже на то что нужно.
У меня прибор - коммутатор: в него 32 трубки теелфонных тыкаются. Когда происходят изменения (входящий хзвонок, подъем трубки или сброс) посылается текст на ком порт с номером трубки и кодом операции, вот их и нужно прочитать. К сожелению техники, проектирующие прибор не смогли точно дать формат данных, дали следующую инфу:
первые 3 байта - "tel" 4й байт - номер трубки, 5й - номер канала (точно не понял что это, но неважно) 6й - "=" и последние 4 байта - имя операции (входящий хзвонок, подъем трубки или сброс). Просто нужно перехватить посылку сигналов на ком порт и прочесть входящий набор байт в строку.
PM MAIL   Вверх
AquilA
Дата 12.11.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 30.6.2005

Репутация: нет
Всего: нет



Вопрос по com порту! продолжение...

собственно есть код на Шарпе
Код

SerialPort sp = new SerialPort();
sp.Open();
sp.WriteLine("test");
sp.Close();


ну собстевнно проверяю это дело физически, собственно прозваниваю контакты с GND.
Но если мне память не изменяет, то начиная с Windows NT выполнение обращения к портам доступно только с нулевого кольца! 
Следовательно либо код все таки не выполняется, либо у меня руки кучерявые!

Подскажите пожалуйста, передача выполняется в этом случае или нужно шлюз колпашить?
PM MAIL   Вверх
AnTON_G
Дата 13.11.2007, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



to AquilA:
компонент SerialPort работает. Если просто узнать как работать с этим компонентом то на форуме не раз обсуждалось пользуйся поискомsmile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.