ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
605272 Топик полностью
Эдуард1978 (21.06.2015 23:43, просмотров: 222) ответил Ксения на Так это опять вы? :)
Так точно я опять!Хочу с помощью этой микрухи считывать значения с флешки вот и приходится использовать в качестве ХОСТА .Спасибо за совет вот мой вариант инициализации дальше пока на стадии разработки))) void inytHost() { UHWCON = (1<<UIDE) | (1<<UVREGE); // это надо если нужно включить регулятор напряжения для USB модуля _delay_ms(15); PLLCSR |= (1<<PLLP2) | (1<<PLLP1) |(0<<PLLP0)| (1<<PLLE); while ((PLLCSR & 1)==0); USBCON = (1<<USBE) |(1<<OTGPADE) |(1<<HOST); выбираем режим Хост USBCON&=~(1<<FRZCLK); USBCON |= (1<<HOST); //UHWCON |= (1<<UVCONE); эти биты упраляют линие Vbus но эти две команды в теле основной программы //OTGCON=0x02; PORTE|=(1<<7); UPNUM=0; // Device endpoint registers initialization // Endpoint 0: On //UECONX=0x00; UPCONX|=0x01; UPCFG0X|=0x00; // Endpoint X size: 8 // Endpoint X Banks: 1 //ALLOC ON UPCFG1X|=0x30; UPCFG1X|=(1<<ALLOC); while(!(UPSTAX&(1<<CFGOK)));// ЕСЛИ ВСЕ корректоно то ок . у меня вроде ок UDCON&=~((1<<LSM)|(1<<DETACH)); ПОДКЛЮЧАЕМ ВЫВОДЫ , НО НЕЗНАЮ КОРРЕКТОНО ИЛИ НЕТ???? } int main (void) { CLKPR=0x80; CLKPR=0x00; DDRB=0x20; PORTC=0x00; DDRC=0xff; DDRE|=(1<<7); PORTD=0x00; DDRD=0xFF; inyt(); ИНИЦИАЛИЗАЦИЯ ГРАФИЧЕСКОГО ДИСПЛЕЯ wg12864a inytHost(); UHWCON |= (1<<UVCONE); OTGCON=0x02; ПОДАЕМ ПИТАНИЕ НА Vbus Если обнаруживается подключение device-интерфейса (подтяжка к плюсу питания на линии DP или DM) в течение 300 мс после подачи Vbus, флаг DCONNI перейдет в высокое состояние. Если же после установки бита VBUSREQ в течение 300 мс не будет обнаружен device-интерфейс, будет выполнена установка флага (и сгенерировано прерывание) BCERRI и приостановлена подача Vbus (UVCON равен 0). OLCD(UHWCON,0);выовд значение регистров OLCD(OTGCON,1); OLCD(USBSTA,2); OLCD(USBINT,3); OLCD( UHINT ,4); OLCD(USBCON,5); OLCD(UPCFG0X,6); OLCD(UPSTAX,7); display(); } } вообщем пока на этом уровне