MSComm Timeout

Hi.

I have an VBA application that talks to a serial device, which acts as a converter and talks to another device. I would like a way for the application to timeout if it doesn't recieve a response in a certain period of time.

The trouble with the timeouts built in to mscomm (that I know of) is that they will only detect if the serial device is there when the app is transmitting, but I need to know if the third device is not responding.

Thanks and sorry if I wasn't clear enough.
Dormouse31Asked:
Who is Participating?
 
mazfarCommented:
I dont know if it answers your question but its a kind of work around.

Put a timer control and set it to whatever is your max waiting time at the port. Whenever you do a serial port open, activate the timer. When the specified interval passes, the timer event will fire and you can close the port (or do whatever u want to here). In the MSCOMM oncomm event, reset the counter (so as whenever you receive anything timer starts again).

I hope I was able to explain my solution.

Ciao
0
 
Dormouse31Author Commented:
I thought of the timer idea, but there isn't a timer in the VBA toolbox. How do you use a timer in a VBA App?
0
 
mazfarCommented:
Check this link to use timer API to replicate timer functionality in VBA.

http://www.developerfusion.com/show/1090/

Have a nice day.
0
 
leonstrykerCommented:
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Answered mazfar
 
Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

leonstryker
EE Cleanup Volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.