pic18f45550 usb проблема

Я пытаюсь создать очень простое устройство связи USB, используя pic 18f4550 с примером mikroelectronica по умолчанию без изменений (только изменение с оборудованием, у которого у меня нет пары 100nf, подключенных к vusb, поэтому я заменил их на 470uf, и я не поставил любой пф с моим кварцевым генератором)

Оборудование: Схема для usb pic18f4550

Код очень хорошо работает с симуляцией Proteus:

unsigned char k;
unsigned char userWR_buffer[64];

const char *text = "MIKROElektronika Compilers ER \r\n";
//**************************************************************************************************
// Main Interrupt Routine
//**************************************************************************************************
void interrupt()
{
  HID_InterruptProc();
}
//**************************************************************************************************
//**************************************************************************************************
// Initialization Routine
//**************************************************************************************************
void Init_Main()
{
        //--------------------------------------
        // Disable all interrupts
        //--------------------------------------
        INTCON = 0;                             // Disable GIE, PEIE, TMR0IE,INT0IE,RBIE
        INTCON2 = 0xF5;
        INTCON3 = 0xC0;
        RCON.IPEN = 0;                          // Disable Priority Levels on interrupts
        PIE1 = 0;
        PIE2 = 0;
        PIR1 = 0;
        PIR2 = 0;

        ADCON1 |= 0x0F;                         // Configure all ports with analog function as digital
        CMCON  |= 7;                            // Disable comparators
        //--------------------------------------
        // Ports Configuration
        //--------------------------------------
        TRISA = 0xFF;
        TRISB = 0xFF;
        TRISC = 0xFF;
        TRISD = 0;
        TRISE = 0x07;

        LATA = 0;
        LATB = 0;
        LATC = 0;
        LATD = 0;
        LATE = 0;
        //--------------------------------------
        // Clear user RAM
        // Banks [00 .. 07] ( 8 x 256 = 2048 Bytes )
        //--------------------------------------
}
//**************************************************************************************************

//**************************************************************************************************
// Main Program Routine
//**************************************************************************************************

void main() {
 char i;

  Init_Main();

  HID_Enable(&userWR_buffer, &userWR_buffer);

  Delay_ms(1000);
  Delay_ms(1000);
  while(1) {
    Delay_ms(1000);
    i=0;
    while(text[i]) {
      userWR_buffer[0]= text[i++];
      while (!HID_Write(&userWR_buffer, 1));
      }
    }

  Delay_ms(1000);
  HID_Disable();
}
//**************************************************************************************************

person Samy Massoud    schedule 09.07.2011    source источник
comment
Вы уверены, что оборудование работает? Похоже, вы позволили себе некоторую вольность с разделительными конденсаторами, которые могут вызвать проблемы. Попробуйте спросить на electronics.stackexchange.com.   -  person Paul R    schedule 09.07.2011
comment
Я уверен в оборудовании и спасибо, что направили меня на другой сайт   -  person Samy Massoud    schedule 09.07.2011
comment
С какой проблемой вы на самом деле столкнулись? Устройство не отображается в диспетчере устройств? Windows жалуется на неисправность устройства? Драйвер HID не подключается к устройству? Отчет HID не работает? Устройство не получает питание?   -  person David Grayson    schedule 09.07.2011
comment
100nf сильно отличается от 470uf. То же @Paul R.   -  person David Grayson    schedule 09.07.2011
comment
хорошо, компьютер ничего не чувствовал об устройстве?   -  person Samy Massoud    schedule 09.07.2011
comment
Какое напряжение на линии VUSB и линии VCC?   -  person David Grayson    schedule 10.07.2011
comment
У вас есть подтягивание на MCLR #? Можете ли вы подтвердить, что ваш PIC вообще запускает вашу программу? Вы можете добавить светодиод в свою схему и включать и выключать его в основном цикле. Если хотите, я могу отправить вам рабочий шестнадцатеричный файл, который выполняет HID на PIC18F4550 (работал у меня). Это может помочь вам проверить свое оборудование.   -  person Nick Alexeev    schedule 12.07.2011
comment
Ник, пожалуйста, отправьте мне файл, и да, я переключил светодиод, и он работает, но все еще не повезло, чтобы заставить его работать, кстати, есть проводные штуки, мой переключающийся светодиод становится быстрее с pic16f4550, хотя тот же код отлично работает с pic16f877a   -  person Samy Massoud    schedule 13.07.2011
comment
@SamyMassoud Поскольку я не знаю вашего адреса электронной почты, давайте сделаем это. Отправьте мне электронное письмо, я отвечу с файлом. Мой адрес электронной почты находится на моей домашней странице (в моем профиле StackOverflow есть ссылка).   -  person Nick Alexeev    schedule 13.07.2011
comment
Я отправил тебе почту, проверьте свой ник во входящей почте   -  person Samy Massoud    schedule 15.07.2011
comment
@SamyMassoud Я ответил с приложенной программой.   -  person Nick Alexeev    schedule 17.07.2011


Ответы (1)


Я не ставил pf на свой кварцевый генератор

Я не думаю, что это сработает. Проверьте с помощью осциллографа, что происходит с вашим кристаллом. У вашего устройства просто нет входа часов, поэтому оно никогда ничего не выполняет.

person holgero    schedule 24.11.2012
comment
на самом деле я много времени тестировал эту простую прогу, например, включение / выключение света, и она работает! - person Samy Massoud; 25.11.2012
comment
Какая у вас была конфигурация при использовании простой проги? Он использовал внешний XTAL или внутренние часы? - person holgero; 26.11.2012
comment
Так как частота USB выводится из частоты XTAL, вам необходимо иметь XTAL с определенной частотой (см. Таблицу, какие частоты работают с высокоскоростным USB / низкоскоростным USB) и подключить его к OSCON1 / OSCON2 (ваша схема здесь тоже выглядит неправильно). И вам обязательно понадобятся конденсаторы для запуска XTAL. - person holgero; 26.11.2012