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

 
 
> не могу найти смешение для доступа к портам через /dev/mem, lpc2478
andybeg
сообщение Jun 23 2010, 08:33
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954



по сабжу нашёл ссылку а вот с адресами по которым идёт смещение для доступа к портам не найду sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andybeg
сообщение Jun 25 2010, 10:28
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954



нашёл один вариант доступа к двум первым портам ...

Цитата
void setP01(char port,int pin, char state)
{
unsigned long *IO0DIR,*IO0SET,*IO0CLR, data;
IO0DIR = 0xE0028008+(0x10UL * (unsigned long)port);
IO0SET = 0xE0028004+(0x10UL * (unsigned long)port);
IO0CLR = 0xE002800C+(0x10UL * (unsigned long)port);
if(state)
{
*IO0DIR = (1UL<<(pin));
*IO0SET |= (1UL<<(pin));
}else
{
*IO0DIR &= ~ (1UL<<(pin));
*IO0CLR |= (1UL<<(pin));
}
}


с другими так не получается sad.gif

Сообщение отредактировал andybeg - Jun 25 2010, 11:25
Go to the top of the page
 
+Quote Post
etoja
сообщение Jun 25 2010, 10:57
Сообщение #3


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



У процессоров, не имеющих MMU, в частности у lpc2478, не возникает ни прерывание, ни исключение при обращении к аппаратным регистрам процессора.
Поэтому uCLinux не может (и не хочет по замыслу создателей) перехватывать эти обращения.

Вы убедились, что обращения к этим регистрам проходят, значит и к другим регистрам обязаны проходить.

Ищите ошибку в своих текстах.
Я же вам показывал, что ваши ошибки - элементарные.

Кстати, вы понимаете что выражение
*IO0SET &= ~(1UL<<(pin));
может только установить единицу на ножке, а сбросить ножку в ноль не может?

Если не понимаете, то читайте юзер мануал на процессор.
Go to the top of the page
 
+Quote Post



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

 


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


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