Builder and USB


Solid State Member
I am trying to make an application with C++Builder which communicates with a PIC16F877A which has a RS232 interface. Unfortunately my computer only has USB ports so I have bought a USB to RS232 converter cable.
Well I am a complete beginner to C++ Builder so really at this point I don't even know it will be possible to do this... Any help and advice would be really appreciated.


Solid State Member
I see no problem you have to face in your setup. The PC SW will know nothing about nature of RS232 port it will use. It can be a real RS232 or Virtual one via USB adapter unless you are using real time bit banging with pins of RS232 port. If you are just sending data bytes there should be no difference between UART based or Virtual COM port.
I still do not get what is the task and what is the final goal of your project?
Is it communicating with PIC from PC via RS232?
In this case why should it be C++ Builder and why should you write any SoftWare at all? Here is the easier way:
SUB-20 Multi Interface USB Adapter USB to I2C SPI GPIO RS232 RS485 Ir
This board is USB to RS232 (and SPI,I2C,...) adapter.
You connect it to the PC USB port and take it's RS232 output and connect it to PIC.
SUB-20 software has a GUI utility to send and receive data via RS232
BTW there is a chance you will not need PIC at all. Look over SUB-20 interfaces and perhaps it will totally suite your needs.
All of the interfaces are controlled via GUI application.


Site Team
Staff member
you're programming the program that will talk to the PIC chip.

or you're programming the pic chip that will talk to the program?

or both?

for the program assuming that you're using windows and C++ libraries you need to look here:

SerialPort Class (System.IO.Ports)

if you're reading writing values from serial on the pic chip then you need to set the serial port along with your fuses and you can use gets and puts to read and write to the port.


Fully Optimized
Unfortunately my computer only has USB ports so I have bought a USB to RS232 converter cable.
Why not use a 18f4550 which does have USB support? Alternatively, use a FR232RL to convert between the two. The latter chip is used on a lot of embedded USB devices - it's just a RS232 over USB emulator, you talk to it as you would a serial port, it appears as a serial port, but the physical interface is USB.