Re: using serial port using APIs
- From: "vbexp" <nobody@xxxxxxx>
- Date: Tue, 25 Oct 2005 17:01:31 -0400
At 9600, 15 bytes(150 Bits) would take 15.625 ms to transmit all the
response, or 1.0417 ms for the first byte. Somehow I don't think that the
API solution would help you, MSComm could not have possibly be slower than
the API by several milliseconds. Here are some links to API solutions
anyway:
http://groups.google.com/group/microsoft.public.vb.winapi/browse_thread/thread/bcb9856896865bed/a22f8460dab18a8e
More:
http://groups.google.com/groups?as_q=vb%20setcommconfig%20createfile&num=100
http://www.google.com/search?as_q=vb%20setcommconfig%20createfile&num=100
"JamesT" <JamesT@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:7E071DB1-94B4-4508-B155-83B8149A21DE@xxxxxxxxxxxxxxxx
> The baud rate is 9600 and there are only 15 bytes.
>
> It is the time takes between the mscomm1.output (TxData) command and the
> polling device actually getting the data that is the problem.
>
> It just takes too long.
>
> Also I cannot find any help searching for vb setcommconfig.
>
> Is there an API that will wait for receive data and then inform the
> programme that there is data available?
>
>
>
> --
> JamesT
>
>
> "vbexp" wrote:
>
>> What baud rate are you using? How many bytes in the response?
>>
>> It takes 7 ms to send a byte at 1428 baud. Usually, it takes 10 bits
>> total
>> to send a byte(the byte itself+start and stop bits). So if you are
>> sending
>> at 38400 Bits/Sec, that is 3840 Bytes/Sec. Each byte takes 260 us, for 7
>> ms,
>> the response can be no more than 26 bytes.
>>
>> For an API approach, check newsgroups for "vb SetCommConfig"
>>
>> > I would also like help on making the programme multi threaded so that
>> > the
>> > comm portion can be started as a separate thread so that the main
>> > programme
>> > can get on with other things while waiting for a poll.
>>
>> VB6 is not multi-threaded except for ActiveX EXE's, but even that may not
>> be
>> suitable(global variables are not shared between threads). I recommend
>> that
>> you design your software in such away that it returns quickly from the
>> OnComm event. You can't show a MsgBox in OnComm event. If you have to,
>> defer
>> it to a Timer.
>>
>>
>> "JamesT" <JamesT@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:A6FC7773-0B28-4302-A777-F89D7DE0E397@xxxxxxxxxxxxxxxx
>> >I would like to use the Windows APIs to communicate with a Device
>> >connected
>> > to the serial port. Can any one suggest good reading material that uses
>> > VB6.
>> > Most of what I have found gives examples in C++.
>> >
>> > The Programme is polled every 20ms by the device and the PC has to
>> > build
>> > the
>> > response ( about 7 ms) and reply very quickly. Using the MSComm control
>> > is
>> > too slow as the reply seems to take about 20ms to get to the device
>> > after
>> > the
>> > MSComm write command.
>> >
>> > I would also like help on making the programme multi threaded so that
>> > the
>> > comm portion can be started as a separate thread so that the main
>> > programme
>> > can get on with other things while waiting for a poll.
>> >
>> > Please help
>> >
>> > --
>> > JamesT
>>
>>
>>
.
- Follow-Ups:
- Re: using serial port using APIs
- From: JamesT
- Re: using serial port using APIs
- References:
- Re: using serial port using APIs
- From: vbexp
- Re: using serial port using APIs
- From: JamesT
- Re: using serial port using APIs
- Prev by Date: How to set folder inheritance programmatically
- Next by Date: Re: Automating msoCommandBars with API
- Previous by thread: Re: using serial port using APIs
- Next by thread: Re: using serial port using APIs
- Index(es):
Relevant Pages
|