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

 
 
 
Reply to this topicStart new topic
> LPC2368/78 пины USB_D+ и USB_D-, не работают как обычные GPIO выходы
VslavX
сообщение Oct 6 2008, 11:29
Сообщение #1


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Имеется плата на основе LPC2378, пины P0.29 (USB_D+) и P0.30 (USB_D-) предполагается использовать как обычные GPIO выходы. Даташит, усер мануал и ег'ата глаголют что препятствий к этому вроде как нет. Но вот такой простой код:
Код
lock = hal_lock_interrupt();
PIN_SEL[1] &= ~0xFFF00000;
FIO0_MASK   = 0;
FIO0_DIR   |= 0x44000000;
FIO0_SET    = 0x44000000;
PIN_SEL[1] &= ~0xFFF00000;
nop();
FIO0_CLR    = 0x44000000;
hal_unlock_interrupt(lock);

не работает. На выходе P0.26 осциллограф импульсы видит, а на выходе P0.30 - нет.
Также данный фрагмент был запущен на плате с LPC2368 - точно с таким же результатом, P0.30 как выход не заработал. Может быть там "открытый коллектор" (по типу P0.28/29) - я еще не пробовал, и мне OK по схеме не подходит.
По форуму поискал - такой проблемы не нашел. Кто-нибудь с таким уже сталкивался? Или я что-то в документации пропустил?
Go to the top of the page
 
+Quote Post
r301
сообщение Oct 6 2008, 13:37
Сообщение #2





Группа: Участник
Сообщений: 13
Регистрация: 20-10-07
Пользователь №: 31 533



я так настраиваю:
Код
    FIO0DIR |= 1UL << 29; // P0.29
    FIO0DIR |= 1UL << 30; // P0.29
    IODIR0 |= 1UL << 29; // P0.29
    IODIR0 |= 1UL << 30; // P0.29


user.manual.lpc23xx.pdf, GPIO port Direction register IODIR and FIODIR(IO[0/1]DIR -
0xE002 80[0/1]8 and FIO[0/1/2/3/4]DIR - 0x3FFF C0[0/2/4/6/8]0)

Remark: GPIO pins P0.29 and P0.30 are shared with the USB D+/− pins and must have
the same direction. If either P0DIR bits 29 or 30 are configured LOW in the IO0DIR or
FIO0DIR registers, both, P0.29 and P0.30, are inputs. If both, P0DIR bit 29 and bit 30 are
HIGH, both, P0.29 and P0.30, are outputs.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Oct 6 2008, 15:23
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(r301 @ Oct 6 2008, 16:37) *
Remark: GPIO pins P0.29 and P0.30 are shared with the USB D+/− pins and must have
the same direction. If either P0DIR bits 29 or 30 are configured LOW in the IO0DIR or
FIO0DIR registers, both, P0.29 and P0.30, are inputs. If both, P0DIR bit 29 and bit 30 are
HIGH, both, P0.29 and P0.30, are outputs.

Да, спасибо, это именно оно. У меня USB_D+ - вход, в USB_D- - выход, придется как-то выкручиваться.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:55
Рейтинг@Mail.ru


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