Пролема с самопроизвольным закрытием СОМ портов?

Программирование на Visual Basic for Applications
Anatoly Yakovlev
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 10.08.2007 (Пт) 11:05

Пролема с самопроизвольным закрытием СОМ портов?

Сообщение Anatoly Yakovlev » 10.08.2007 (Пт) 13:17

Привет!

Я для считывания информации с внешних устройств через СОМ порт широко использую RSMINI.dll имеющую API:

Public Declare Function OPENCOM Lib "rsmini" (ByVal A$) As Integer
Public Declare Function READBYTE Lib "rsmini" () As Integer
Public Declare Sub CLOSECOM Lib "rsmini" ()
Public Declare Sub SENDBYTE Lib "rsmini" (ByVal b%)
Public Declare Sub RTS Lib "rsmini" (ByVal b%)
Public Declare Sub DTR Lib "rsmini" (ByVal onoff%)
Public Declare Sub TIMEOUT Lib "rsmini" (ByVal ms%)

При работе под Windows98 все работает без проблем. А при запуске макросов под Win2000 или WinXP возникают проблемы: Excel macros спустя несколько минут после запуска теряет связь по RS232 с внешним устройством. Контроль обмена по RS232 с помощью Portmon показал что по каким то причинам спустя несколько минут после запуска приложение формирует запросы :
IRP_MJ_CLEANUP
IRP_MJ_CLOSE.
Т. е. СОМ порт почему то закрывается. Это не зависит от того ведется ли обмен по последовательному каналу или он простаивает. Тот же эффект наблюдается даже для простейшего примера:

Private Sub CommandButton1_Click()
If ComOpen(Ports(COMPORT) + ":" + Rates(BAUDRATE) + ",N,8,1") > 0 Then
MsgBox ("COM port opened!")
TIMEOUT 2000


Else: MsgBox ("COULD NOT OPEN COM PORT!")
End If

End Sub

Private Sub CommandButton2_Click()
CLOSECOM
End Sub

В Win98 порт после открытия может находиться в этом состоянии сколь угодно долго, а в Win2000 и WinXP через 3-5 минут закрывается.
В чем тут может быть проблема???

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.08.2007 (Пт) 13:37

Кросспосты запрещены.
Изображение


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 68

    TopList