Daniel,
> Then I disconnect the Hyper terminal. Then the led blink very slow, and it
> seems, that the program is very slow. Whan I pause then the current position
> of the program is in uint8_t Endpoint_WaitUntilReady(void) function in
> Endpoint.c.
This is an unfortunate side effect of the CDC class not having any way
to detect a data sink on the PC side, so that when no terminal is
listening the AVR locks up until the timeout period has elasped, as
you have found. In theory, it should be possible to use the virtual
DCD line of the port to detect an open terminal on the host side, but
the Windows drivers does not handle this correctly (although Linux
does).
Reducing the timeout period is a perfectly acceptable solution, but
keep in mind that it will also affect other code you have running that
uses the Endpoint_WaitUntilReady() function.
- Dean