usb microcontroller interface
you've got some solutions:
1.basic solution is using a simple usb controller chip. using this chip, you must write the driver on pc-side and write handshake code on your micro. As I've seen, people using this solution have got many problems with writing the driver. their driver sometimes hangs the computer up and it's portability over different pc-side host-controllers is difficult to implement
2. using microcontrollers that have built-in usb controllers. this solution is exactly like the first solution but the controller is integrated in the chip. it's got the same disadvantages for solution 1
3. using ready uart-usb modules. it's easy but you should pay more than solution 1 and 2, the size of the module is big.
4. using ready uart-usb chips(or like that). there are some companies like ftdichip and silabs that have got those chips. among these, i think ftdi is the best. because of
A-providing the pc-side driver for different OS
B-having sample codes
C-no need to write any handshake code on your microcontroller.