Хотел отмониторить работу программы. Взял функции из BasicUSB. В основном цикле работают.
Перенес pCDC.Write в таймерное прерывание. Камень виснет. С чего бы это? USB вроде такая же периферия как и USART.