Mdb Converter Serial Code. 3/30/2017 0 Comments. Find Serial Number notice: DBF to MDB Converter serial number, DBF to MDB Converter all version keygen. MDB-RS232 Interface Adapter for MDB Coin Changer and Bill Acceptor. This Interface Unit (IU) is designed to convert the MDB Bill Acceptor. Serial Number of the BA.

Serial
ExpertMod15k+
It only works in Excel because you haven't tested it properly. Strings don't change when put through any Formatting. Excel converted them to dates (or numbers depending on your test procedure) as soon as you entered them in.
As ADezii says, CDate() is what you need to convert a string in date format into a date. Dates are stored as numbers anyway, so how you use that is down to you (in your code).
I would say at this point, that you should probably reconsider your use of text fields to store your dates. I'm frequently instructing people that dates should only ever be converted from dates into strings at the very last point. IE. When displaying for a human. Up until that point they can have formats assocated with them, but should be stored in numeric form. I don't know your exact situation, so it's hard for me to be categorical about it, but I can say that trying to work with dates that aren't stored as dates is like trying to work with one hand tied behind your back. Converting values backwards and forwards as you go is simply poor coding practice and should be avoided where possible (Anyone with any experience looking at such code will be immediately unimpressed).
Active6 years, 7 months ago

I have developed an embedded solution which communicates over a Multi Drop Bus and now I would like to develop a PC based application which monitors traffic on the bus.

MDB supports true 9 data bits (plus start/stop/parity - and *no fudging* by using the parity bit as a 9th data bit) whereas standard Windows and Linux libraries offer a maximum of 8 data bits.

I have a StarTech PCI2S950 PC serial port card which supports 9-data bits, but am not sure how to code my monitoring app & have googled a lot to no great avail.

I would prefer to code in C (or Delphi, or C++). I have a slight preference for Cygwn, but am willing to use straightforward Windows or Linux.

Just anything to read/write 9 data bits over that PC serial port card.

Can anyone help?

Mawg
MawgMawg
15.1k75 gold badges245 silver badges457 bronze badges

4 Answers

The document at http://www.semiconductorstore.com/pdf/newsite/oxford/ox16c950b.pdf describes the differences between various UARTs. While your StarTech board includes the 16C950, which is RS-485 (and 9-bit) capable, it uses it in RS-232 compatible (550) mode, similar to 16550/8250 from IBM-PC days, and supports max 8 bit data.

You need a board with the same chip (16C950) but that exposes the RS-485 compatible 950 mode that supports 9 bit data as per the spec. And any board claiming such support would have to come with custom drivers for Windows, since Microsoft's is 8 bit only.

There are several other chips that can do 9-bit RS-485 mentioned here but again finding Windows driver support will be tricky. And, of course, many boards use 16C950 but only in 8-bit and/or RS-232 only mode, and without appropriate drivers.

In answer to your related question on Superuser, sawdust suggested the Sealevel 7205e, which looks like a good choice, with Windows driver support. It is pricey but they specifically mention 9-bit, RS-485 support, and Windows drivers. It may well be your best option.

Community
Peter KrnjevicPeter Krnjevic

The card you selected is not suitable for this application. It has just plain RS-232 ports, it is not suitable for a multi-drop bus. You'll need to shop elsewhere for an EIA-485 style bus interface, you could only find those at industrial electronics suppliers. By far the best way is to go through the National Automatic Merchandising Association, the industry group that owns the MDB specification.

The 9-bit data format is just a trick and is used in the MDB protocol to mode-switch between address bytes and data bytes. All ports on the bus listen to address bytes, only the addressed port listens to data bytes.

The 9th bit is simply the parity bit that any UART can generate. The fundamental data size is still 8 bits. An UART auto-generates the parity bit from the way it was initialized, you can choose between mark, space, odd and even parity.

Now this is easy to do in a micro-controller that has an UART, the kind of processor used on a bus like this. You simply re-program the UART on-the-fly, telling it to generate mark parity when you send the address bytes. And re-program it again to space parity when you send the data bytes. Waiting for the fifo to empty will typically be necessary although it depends on the actual UART chip.

That is a lot harder to do on a regular Windows or Linux machine, there's a driver between the user mode program and the UART. The driver generates a 'transmit buffer empty' status bit, like WaitCommmEvent() for EV_TXEMPTY on Windows, but this doesn't include the fifo empty status, it only indicates that the buffer is empty. A workaround would be to wait for the buffer empty status and then sleep() long enough to ensure that the fifo is emptied. A fifo is typically 16 bytes deep so sleep for 16 times the bit time. You'll need the datasheet for the UART on the card you selected to know these details for sure.

Hans PassantHans Passant

Serial Number Idm Terbaru

813k113 gold badges1390 silver badges2171 bronze badges

Under Win32 serial ports are just files, so you create a handle for it with CreateFile and then use a DCB structure to set up the configuration options (the members are documented here and include number of data bits as ByteSize).

There's a good walk through here:http://www.codeproject.com/Articles/3061/Creating-a-Serial-communication-on-Win32

VickyVickySerial number lookup
11k2 gold badges41 silver badges49 bronze badges

The link provided shows the card supports 9 data bits and Windows 8, so I would presume all the cards features are available to the application through the standard Windows API.

Apart from setting the correct data format in a DCB and opening the port, I would have thought the standard ReadFile would work. Install windows media player visualizations hd. I wonder if the data read in would actually be 2*8 bit bytes which represent the 9 data bits, rather than a continuous 9 bits streamed in (which you will need to decode at a later date).

Is the 9th bit used for some purpose other than data?

NeilNeil
5,4781 gold badge17 silver badges38 bronze badges

Any Video Converter Serial Number

Not the answer you're looking for? Browse other questions tagged cserial-portcygwin or ask your own question.