|
|
  |
Молчит USB на LPC1751, но работает на LPC1768, Молчит USB на LPC1751, но работает на LPC1768 |
|
|
|
Jan 20 2014, 20:41
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783

|
Цитата(megajohn @ Jan 21 2014, 00:35)  ножки на USB используются одинаковые ? А то там есть маленькая премудрость Вроде одинаковые. А что за премудрость?
|
|
|
|
|
Jan 21 2014, 05:57
|

Профессионал
    
Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143

|
Цитата(ruslannd @ Jan 21 2014, 00:41)  Вроде одинаковые. А что за премудрость? не, у посчитал LPC1768 и LPC1778 схожими, но не так. Вообщем в LPC1778 есть такое: Note that GPIO pins P0[29] and P0[30] are shared with the USB_D+ and USB_D- pins and must have the same direction. If either DIR0 bit 29 or 30 are configured as zero, both P0[29] and P0[30] will be inputs. If both DIR0 bits 29 and 30 are ones, both P0[29] and P0[30] will be outputs
--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
|
|
|
|
|
Jan 21 2014, 17:56
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783

|
Цитата(andrewlekar @ Jan 21 2014, 10:17)  Connect лапа дергается? У LPC1778 другие номера эндпоинтов используются. Память под USB дескрипторы правильно разместили? Connect в единице. Хотя, возможно, при включении происходит инициализация USB, и он переключается. Физически Connect не использую, т.к. в мануале сказано, что он для програмного перезапуска или что-то вроде этого. Мне это не нужно. Просто повесил ресзистор на +3v3 А вот с памятью я не знаю где смотреть. Я плохо понимаю, где надо выделять память. В меру беглое чтение даташита результата не дало. Может ткнете куда надо? Или в приаттаченном примере посмотрите? Мне кажется, что дело именно в памяти, что мною найденные примеры были расчитаны на жирные LPC17xx, а на самой хилой 1751 работать не хотят из-за того, что неправильно память где-нибудь в модуле USB распределена. Хотя, все компилится и компилятор говорит о том, что требуется меньше 1кБ ОЗУ
Прикрепленные файлы
HID.rar ( 44.09 килобайт )
Кол-во скачиваний: 4
|
|
|
|
|
Jan 22 2014, 05:28
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783

|
Цитата(andrewlekar @ Jan 22 2014, 09:22)  Резистор между +3.3 и D+?
Открыл наконец доку по LPC1751. Блин, там всего 8к озу на всё. Вряд ли дело в памяти. А вот инициализация частоты у вас странная. Для PLL0 MSEL = 100, а NSEL = 4. При этом для PLL1 MSEL = 6, а PSEL = 2. Если у вас кварц 4 мгц, то сам проц работать будет, а вот 48 мгц для USB уже не получается. Если у вас кварц 12 мгц, как написано в комментариях, то у вас проц не должен запускаться. Резистор, конечно, есть, на 1к5. Кварц на 8Мгц. С LPC1768 такие настройки уже третий год штампуются. Здесь разница именно в контроллерах. Вот только где?
Сообщение отредактировал ruslannd - Jan 22 2014, 05:29
|
|
|
|
|
Jan 22 2014, 06:03
|

Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783

|
Цитата(andrewlekar @ Jan 22 2014, 09:37)  Ну вот в даташите написано, что с такими настройками как у вас, не должно ничё работать. 8 мгц с множителем 100 даст Fcco = 800, а это нельзя. Про PLL1 сказано, что он с кварцами до 10 мгц не стартует. Вы правы, за исключением того, что Fcc=400 (итоговый множитель там 200, а не 100, но есть предделитель на 4), А с PLL1 косяк вышел, будем исправлять. Спасибо за замечания. С USB только что разобрался, оказалось, что ребята из Keil'a неправильно обращались с регистром USBClkSt и ждали когда в его бите 3 появится единица. Недоразумение исправил. Все заработало. Всем спасибо.
Сообщение отредактировал ruslannd - Jan 22 2014, 06:04
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|