I am working on a Communication Device Class (CDC) driver for an embedded device - Full Speed. COM port settings: 115200, 8 bits, no parity, 1 stop bit, no flow control. Our PC application (32-bit, Windows 7, .NET 2.0) communicates with the target device via a virtual COM port, which on the target device can be connected either to the FTDI chip (USB-to-SCI bridge) or to the built-in USB peripheral interface in the microcontroller, depending on which port is selected by the application.
Both virtual COM ports work without problems using Realterm. However, although our desktop application uses a virtual COM port connected through an FTDI chip, it freezes when trying to use a virtual COM port connected through an integrated microcontroller peripheral peripheral device.
When connected via a virtual COM port using the built-in USB, the application hangs sequentially during the second call to SerialPort.Write(...) . Using the Serial Monitor from the HHD software I can see that the data is transmitted on the first call to SerialPort.Write(...) . However, this data is never accepted by the target device.
This is strange because the only time I saw similar problems in previous projects was when the flow control settings on each side of the bus were inconsistencies.
Additional Information...
Here are the data obtained from various port monitoring tools when launching our PC application connected to the target device via the built-in USB peripheral. Any insight would be appreciated.
For those interested, I am using CodeWarrior 10.2 with the MCF51JM128 from Freescale.
Any ideas or suggestions would be appreciated. Thanks.
source share