Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему не идет сигнал
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Novichok1
Здравствуйте!
Все еще продолжаю разбираться с LPC2478. Наткнулся на интересную ситуацию:
Одни ножки чипа дергаются очень даже хорошо и стабильно, а некоторые либо вообще не дергаются, либо дергаются как-то коряво.
Например, дергаю P2.0:

Код
FIO2DIR |= (1<<0);//Настраиваю P2.0 на выход
PINSEL4 = ~((1<<0)|(1<<1));//Настраиваю P2.0 на GPIO
while(1)
{
        FIO2SET |= (1<<0);
        FIO2CLR |= (1<<0);
}

Все прекрасно, все работает.
А вот если также дергать ножку P0.15 (CLK)

Код
FIO0DIR |= (1<<15);//Настраиваю P0.15 на выход
PINSEL0 = (1<<30)|(1<<31);//Настраиваю P0.15 на CLK
while(1)
{
        FIO0SET |= (1<<15);
        FIO0CLR |= (1<<15);
}


То не работает (проверял осциллографом)- эта ножка не дрыгается.
А вот если вместо

Код
PINSEL0 = (1<<30)|(1<<31);//Настраиваю P0.15 на CLK


настроить эту ножку на GPIO

Код
PINSEL0 = ~((1<<30)|(1<<31));//Настраиваю P0.15 на GPIO


то тогда, сразу после загрузки кода она дергается, но перестает работать после резета.

Граждане, помогите пожалуйста разобраться, что еще нужно для корректной работы с ножками проца, кроме настройки направления сигнала(input, output) и выбора функций ножки.
esaulenka
Если настроить вывод на что-то, отличное от GPIO, на регистры IOSET/CLR/PIN/DIR можно даже не смотреть - они перестают работать.

Чтобы "подёргать" ногой SCK, надо сконфигурировать модуль SPI (или SSP) и засунуть в регистр данных какой-нибудь байт. Правда, зачем такое нужно, не знаю smile.gif

Что делать с "перестаёт работать после резета", не знаю. Пытаться понять, куда уходит программа (не в бут, случаем?..)
Novichok1
Цитата
Чтобы "подёргать" ногой SCK, надо сконфигурировать модуль SPI (или SSP) и засунуть в регистр данных какой-нибудь байт. Правда, зачем такое нужно, не знаю


Да я пытался "вручную", без регистров SPI, пообщаться с контроллером сенсорной панели через выходы CS, CLK, MISO, MOSI. А для этого нужно, чтобы дергался CLK. Таким образом я хочу проверить, правильно ли я принимаю данные по SPI.

Цитата
Что делать с "перестаёт работать после резета", не знаю. Пытаться понять, куда уходит программа (не в бут, случаем?..)


А не подскажите, как это проверить?
Novichok1
Цитата
Если настроить вывод на что-то, отличное от GPIO, на регистры IOSET/CLR/PIN/DIR можно даже не смотреть - они перестают работать.


А за это большое спасибо! Я даже не подозревал о таком)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.