il-2 (08.11.2016 10:12, просмотров: 224) ответил Make_Pic на Спасибо! А как без детектирования VBUS работает?
А оно тебе надо? Не знаю твоей ситуации, но скорее всего - нет. ЗЫ: Дело было давно, ерраты на контроллер я у себя не нашел, зато в своих исходниках наткнулся на такой коммент (выделено жирным):
//Начальная инициализация USB
void InitUSB(void)
{
cStatusUSB=0x00;
PLLFRQ=(1<<PDIV2); //Config PLL Output to 48MHz
USBCON=(0<<USBE)|(1<<OTGPADE)|(1<<FRZCLK)|(0<<VBUSTE); //Разрешаем VBUS (для детектирования подключения/отключения)
}
//Отслеживание состояния линии VBUS - вместо обработчика прерывания VBUSTI (см. Errata на контроллер!!!)
//Вызывается из обработчика прерывания с интервалом 1мс
void VbusTrackingUSB(void)
{
uchar cVbus=(USBSTA&(1<<VBUS))?0x80:0x00;
...
Т.е. нельзя использовать прерывания для отслеживания состояния VBUS.