Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2011, 20:41   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Windows 7 64bit не дружит с компортом.

Здравствуйте.
Вот столкнулся с такой проблемой: Программа написана на C#, framework 2.0. Использую стандартный com порт.
На всех компах с 32 битной версией все работает на ура.
При попытке работать с устрйоством на windows 7 64bit при подключении появляется ошибка "Не удалось открыть порт ошибка Присоединенное к системе устройство не работает"

Может сталкивался кто-нибудь? Как лечить данную болячку?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 15.09.2011, 10:25   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Может, дело в компьютере или в дровах? Посмотри порты в диспетчере устройств.
ds.Dante вне форума Ответить с цитированием
Старый 15.09.2011, 22:24   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от ds.Dante Посмотреть сообщение
Может, дело в компьютере или в дровах? Посмотри порты в диспетчере устройств.
Сом порты установлены правильно. драйвера тоже. Некоторые программы могут открыть порт некоторые нет.
Конечно может дело в самом устройстве... ну хочется проверить все варианты. неужели эта ошибка только у меня происходит?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 16.09.2011, 11:00   #4
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Достань где-нибудь старенькую комовскую мышь. :)

А что за устройство?

Покажи код, где ты открываешь и используешь порт.
ds.Dante вне форума Ответить с цитированием
Старый 16.09.2011, 11:49   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Код:
 public int OpenPort(int BaudRate)
        {
            lock (_asyncobject)
            {
                // настраиваем порт
                if (WorkPort == null) WorkPort = new SerialPort(); // если пусто то создадим новый 
                try
                {
                    if (WorkPort.IsOpen)
                    {
                        WorkPort.Close();
                        Thread.Sleep(200);
                    }
                    //WorkPort.ReadBufferSize = 64;
                    //WorkPort.WriteBufferSize = 64;
                    WorkPort.BaudRate = BaudRate; // 57600 по дефолту
                    WorkPort.WriteTimeout = SerialPort.InfiniteTimeout;
                    WorkPort.ReadTimeout = SerialPort.InfiniteTimeout;
                    WorkPort.Parity = Parity.None;
                    WorkPort.StopBits = StopBits.One;
                    WorkPort.DataBits = 8;
                    WorkPort.Handshake = Handshake.None;
                    WorkPort.DataReceived += new SerialDataReceivedEventHandler(WorkPort_DataReceived);
                    WorkPort.ReceivedBytesThreshold = 3;
                    WorkPort.Open(); // открываем
                    return 0;
                }
                catch (Exception ex)
                {
                    _errorMessage = ex;
                    return -5;
                }
            }
        }
устройство копировальщик безконтакных ключей RFID.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 16.09.2011, 17:29   #6
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Методом тыка...
Если baud rate близко к нужному, но не совпадает, устройство может работать нестабильно, а значит, работа будет зависеть от операционной системы, э/м наводок и фазы луны. Одно из устройств, для которого я писал программу, имело baud rate 56000 (хотя эта частота не является широко испльзуемой). Подними спецификации своего устройства, попробуй варьировать baud rate.

На какой строчке вылетает ошибка?

Последний раз редактировалось ds.Dante; 16.09.2011 в 17:33.
ds.Dante вне форума Ответить с цитированием
Старый 16.09.2011, 20:04   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от ds.Dante Посмотреть сообщение
Методом тыка...
Если baud rate близко к нужному, но не совпадает, устройство может работать нестабильно, а значит, работа будет зависеть от операционной системы, э/м наводок и фазы луны. Одно из устройств, для которого я писал программу, имело baud rate 56000 (хотя эта частота не является широко испльзуемой). Подними спецификации своего устройства, попробуй варьировать baud rate.

На какой строчке вылетает ошибка?
Ошибка вылетает при попытке сделать WorkPort.Open().
Бодрэйт точно 57600 потому что в приборе использован МК PIC16 с поддержкой USART. При такой скорости отклонения могут быть в пределах 0.05%. В общем пока заметили только одну неточность. Это в прошивке МК. Щас ребята разработчики прошивку посмотрят. Возможно это не в моей проге ошибка. (оч. надеюсь)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 16.09.2011, 22:41   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

1- а...
Цитата:
framework 2.0
есть на:
Цитата:
При попытке работать с устрйоством на windows 7 64bit
?

2- Какая связь между:
Цитата:
Бодрэйт точно 57600 потому что...
и
Цитата:
в приборе использован МК PIC16 с поддержкой USART
?

3-
Цитата:
В общем пока заметили только одну неточность. Это в прошивке МК. Щас ребята разработчики прошивку посмотрят.
а озвучить неточность? А причем тут прошивка, если под 32х работает? СOM порт он и в Африке COM порт.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 17.09.2011, 11:01   #9
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Framework установлен. raxp, вы себе хоть немножко представляете что такое MK и как он работает?
Данный контроллер используя класс CDC определяет себя в системе windows как виртуальный компорт. Работа с USB организована в виде программы, которая вшита в проц.
На данный момент сделано предположение что прибор не отвечает вовремя н азапросы от системы поэтому система классифицирует устрйоство как неправильно работающее.
Про бодрэйт не скажу, был вопрос я дал ответ.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как из 64bit в 32bit -ную систему??? Sergeu Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 07.11.2009 20:01
Vista 64bit Djem1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 10.07.2009 11:58
Неработает код для перехвата API-функции в Vista 64bit artemvyrtosu Win Api 0 30.06.2009 18:31
PopupMenu со мной не дружит Жигилий_Ульяна Компоненты Delphi 5 25.12.2008 11:04