реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Виртуальный COM по USB в LPC2468, пример не работает на передачу
EugenyAM
сообщение Sep 24 2010, 14:44
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929



Экспериментирую с платой 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 снова пропадает передача.

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



Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.0134 секунд с 7
ELECTRONIX ©2004-2016