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

 
 
> Почему не идет сигнал, Работа с некоторыми ножками LPC2478
Novichok1
сообщение Aug 18 2009, 12:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



Здравствуйте!
Все еще продолжаю разбираться с 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) и выбора функций ножки.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
esaulenka
сообщение Aug 18 2009, 15:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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

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

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


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Aug 19 2009, 02:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



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


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

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


А не подскажите, как это проверить?

Сообщение отредактировал Novichok1 - Aug 19 2009, 03:00
Go to the top of the page
 
+Quote Post
Novichok1
сообщение Aug 19 2009, 04:59
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032



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


А за это большое спасибо! Я даже не подозревал о таком)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 03:50
Рейтинг@Mail.ru


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