GenaSPB 11 20 марта, 2017 Опубликовано 20 марта, 2017 (изменено) · Жалоба Вот версия с внутренним генератором, теоретически должна поднять USB FS на любой макетке. Там где зеленым выделено это я отдал хосту 70байт (все прошло нормально). А вот с красного начались проблемы... Нда... ендпоинт ушел в себя... Кстати, для понимания - FIFO у них (STM32F746) не для байтов, а для пакетов. вычитывать только целиком. tc1_stm32f746zg_rom.zip Изменено 20 марта, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Народ, я тут всех поставил на уши, а потом подключил девайс к машине на которой восьмерка (до этого смотрел на старой машине с ХР), и о чудо он отсылает данные обратно :) Теперь проверить надо туда и назад... Нда... ендпоинт ушел в себя... Кстати, для понимания - FIFO у них (STM32F746) не для байтов, а для пакетов. вычитывать только целиком. Да я в курсе, там два пакета было - 64 байта и остаток. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 марта, 2017 Опубликовано 20 марта, 2017 (изменено) · Жалоба Попробуй мой тест на XP - у меня работало (терминалкой ;;; - в ответ ?;) Изменено 20 марта, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 20 марта, 2017 Опубликовано 20 марта, 2017 · Жалоба Попробуй мой тест на XP - у меня работало (терминалкой ;;; - в ответ ?;) А что оно еще делает на 400кБ? Убрал одну EP. Итог - в сторону хоста проходит только первая посылка и все. Ладно буду завтра пилить дальше, есть кое какие мысли почему так... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 марта, 2017 Опубликовано 20 марта, 2017 (изменено) · Жалоба На одном из двуз компортов - Kenwood CAT. На объем не обращай внимания, там DSP трансивер внутри... таблицы синусов разные... без выхода наружу. Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет. А что за проблема с interrupt endpoint? на 746 для аудио+компорты впритык хватает. То что XP без interrupt endpoint CDC не работает я где-то писал уже. Изменено 20 марта, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Народ, я тут всех поставил на уши, а потом подключил девайс к машине на которой восьмерка (до этого смотрел на старой машине с ХР), и о чудо он отсылает данные обратно :) Теперь проверить надо туда и назад... "Cтарая" XP (SP2) и "новая" XP (SP3) - тоже 2 большие разницы. Драйвер CDC в SP3 сильно переработали. Точно что-то поменяли в случае, если размер передачи кратен размеру EP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет. Дело не минутное - надо разобрать девайс, чтобы отключить TFT (поскольку без инициализации LTDC он будет в очень нехорошем состоянии, которое приводит к его медленной деградации). Разбирать довольно долго. Учитывая написанное выше и ниже не уверен, что эта операция что-либо решит. А что за проблема с interrupt endpoint? на 746 для аудио+компорты впритык хватает. То что XP без interrupt endpoint CDC не работает я где-то писал уже. Мне не хватает - без interrupt EP того, что есть у USB FS хватает впритык (еще бы парочка была кстати, но тут была проблема с распределением других интерфейсов/разводкой платы, в итоге USB HS вытянуть не получилось). "Cтарая" XP (SP2) и "новая" XP (SP3) - тоже 2 большие разницы. Драйвер CDC в SP3 сильно переработали. Точно что-то поменяли в случае, если размер передачи кратен размеру EP Спасибо! Теперь припоминаю, что там были проблемы с этим драйвером, из-за чего его особо и не использовал никто. Наверное пора обновиться :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба XP таки была "новая" в смысле XP SP3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Проверил бы... прошить минутное дело. Хоть сказал бы, опознается или нет. Отчитываюсь, разобрал девайс, отлючил ТФТ, залил - работает. Я тут у себя еще нарыл проблем, коротче буду искать. За файл спасибо - теперь понятно, что работать должно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Спасибо. На какой операционной системе проверялось? На XP SP3 мой файл проверял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба На XP SP3 мой файл проверял? Да на XP3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 22 марта, 2017 Опубликовано 22 марта, 2017 · Жалоба Когда я разбирался с USB OTG, столкнулся со следующей проблемой: для нормальной работы TX FIFO необходимо занулить все неиспользуемые DIEPTXF, по примеру HAL занулил сразу 16 регистров, с запасом :). Иначе FIFO глючит(и на EP0 тоже) причём на FS и HS ядрах немного по-разному. Что выглядит странно, казалось бы, как могут влиять неработающие эндпоинты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 22 марта, 2017 Опубликовано 22 марта, 2017 · Жалоба Я победил его :1111493779: Работает и под ХР3 теперь, и под 8кой. Проблема была не в FIFO и не в USB FS, а совсем в другом. Я предполагал, что когда я IN EP устанавливаю в NAK сам, или когда она устанавливается в это состояние после передачи данных, то хост понимает, что данных просто нет. C 8кой так все и получается. А у ХР драйвер впадает в bufferoverrun и перестает принимать данные. Собственно решение посылать все время когда нет данных ZLP. Блин, как все просто, а я за вчера почти что заново переписал половину кода, который работает с USB FS Когда я разбирался с USB OTG, столкнулся со следующей проблемой: для нормальной работы TX FIFO необходимо занулить все неиспользуемые DIEPTXF Спасибо, буду иметь ввиду, ибо некоторые странности с FIFO все же остались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 22 марта, 2017 Опубликовано 22 марта, 2017 · Жалоба получается. А у ХР драйвер впадает в bufferoverrun и перестает принимать данные. Собственно решение посылать все время когда нет данных ZLP. А посмотреть примеры слабо было? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 1 22 марта, 2017 Опубликовано 22 марта, 2017 · Жалоба А посмотреть примеры слабо было? А может мне было интересно поднять это дело с нуля чисто по мануалу ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться