Перейти к содержанию
    

Виртуальный COM по USB в LPC2468

Экспериментирую с платой SK-LPC2478 (контроллер LPC2468) и USB.

С прилагаемого диска взял пример VirtualCOM от NXP (LPC214x/Keil) с двумя виртуальными COM-портами, портировал на IAR. Устройство обнаружилось, драйвер встал без ошибок на COM5 и 6, из терминала на COM5 передача работает в UART0, обратно d USB ничего не передается. Причем и скомпилированная в IAR версия и оригинальный HEX с диска работают одинаково. Нашел версию примера, которая периодически выдает в USB текст "Hello from LPC...". В терминале наблюдаю только этот текст. Данные с UART по прежнему не передаются. Если уменьшить задержку между посылками до 0,5 сек. текст перестает передаваться.

 

Собственно передача реализована в функции

 

DWORD USB_WriteEP (BYTE EPNum, BYTE *pData, DWORD cnt) {

DWORD n;

 

USB_CTRL = ((EPNum & 0x0F) << 2) | CTRL_WR_EN;

 

TX_PLENGTH = cnt;

 

for (n = 0; n < (cnt + 3) / 4; n++) {

TX_DATA = *((__packed DWORD *)pData);

pData += 4;

}

 

USB_CTRL = 0;

 

WrCmd(CMD_SEL_EP(EPAdr(EPNum)));

WrCmd(CMD_VALID_BUF);

 

return (cnt);

}

 

что тут может быть не так?

 

для обмена используется EP#2 в режиме BULK.

Проверял обработчик прерывания от EP, на прием все генерится нормально, на передачу прерывание происходит, только когда данные реально появились в терминале.

Иногда начинает передавать текст после отключения питания на несколько секунд и последующего включения, но после RESET снова пропадает передача.

 

Может есть другой рабочий пример для изучения? Поделитесь, кто чем пользуется. :)

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...