USB : USB Classes    USB Classes for Microcontrollers  

When you write a protocol, you usually start out writing sort of a script: first the PC says this, then the device responds with that, and so on.  You'll spend a lot of time writing code to handshake with the other side, and a lot of time figuring out how to tell the other side just what data is being sent right now, and how much data there is this time.

Then you start writing code, usually for one side, then for the other side.  It takes time to write this software, and here's where the problems come in.

Somewhere during that time, you're going to be interrupted: the phone will ring, or it's time to eat lunch or go home, or maybe your boss gives you some task that interrupts your project.

When you get back to work on this complicated project, it is very likely that you will forget something.  You go on and finish the project, unaware that anything is wrong, and then you get ready to test it.

Now, if you're really lucky at this point, your software will crash right away.  That's actually good news, because at least you found that there's a problem, and got a chance to fix it.

If you're not so lucky, your customers will find the problem, after you have sold thousands of devices.

 
  

9 of 29
Copyright Notice and Author Information