Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
прерывание на GPIO
sasamy
Добавлено 10.10.2012 16:21 Редактировалось 10.10.2012 16:22 Сообщение: 11
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Не нужны тут никакие свои драйверы, как использовать GPIO в юзерспейс гуглится без проблем
https://www.ridgerun.com/developer/wiki/index.php/How_to_use_GPIO_signals
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 10.10.2012 18:36 Сообщение: 12
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
а что значит если при записывании числа в экспорт, если я правильно понял туда записываем номер ноги,но новое устройство не появляеться...
хотя надо прочитать для начала мануал который вы дали...
может некоторые вещи станут понятней...
и ещё вопрос ... а зачем тогда драйвер люди пишут ?
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 11.10.2012 08:54 Редактировалось 11.10.2012 09:18 Сообщение: 13
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
понять не могу...
вроде gpio включил ...
а ничего не добавляет
кроме gpio в ядре может ещё что то надо включить ?
ls -не находит...
cd не заходит...
может имя не правильно указываю ?
пытаюсь пока сделать что то типа такого
echo "183" > /sys/class/gpio/export
cd /sys/class/gpio/gpio183
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.10.2012 09:31 Сообщение: 14
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

вроде gpio включил ...
а ничего не добавляет
кроме gpio в ядре может ещё что то надо включить ?


проверьте что gpio корторый хотите использовать больше нигде не используется, иначе он не появится в sysfs.
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 11.10.2012 09:58 Сообщение: 15
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
я это прочитал...
но где смотреть не совсем понял, мне надо прошерстить всю папку arch/arm/at91
или ещё где то в drivers - это описано

и вот ещё вопросBefore a Linux application can configuration and use a GPIO, the GPIO first has to be exported to user space by writing the GPIO number to this file.

что тут за номер имееться ввиду, он должен быть где то описан ?
или просто это физическая ножка ? вообще все gpio где то описываються ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.10.2012 10:04 Редактировалось 11.10.2012 10:05 Сообщение: 16
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
http://lxr.free-electrons.com/source/arch/arm/mach-at91/include/mach/gpio.h#L24

слева название пина, справа номер GPIO
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 11.10.2012 11:10 Редактировалось 11.10.2012 12:03 Сообщение: 17
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
#define AT91_PIN_PA4 (0x00 + 4)
то есть тут номер 4...
нашол что пин применяеться вот тут
linux-2.6.30/arch/arm/mach-at91/at91sam9260_devices.c
мне их можно просто закоментировать ?
закоментировал, как то не помогло...
все равно мне кажеться что ему что то мешает
у меня кстати адрес прописываеться вот так
#define AT91_PIN_PA4 (PIN_BASE + 0x00 + 4)
интересно PIN_BASE что значит, надо поискать...
плюс пробовал любой пин от балды ... тоже не прописывает
мда дало мне начальство заботу ><
111 содаеться значит PA4 кто то держит >< но я вроде уже закоментил все...
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 11.10.2012 16:43 Сообщение: 18
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
в конечном итоге выбрал другой пин свободный)
и попытался изменить на нем значение
# cd /sys/class/gpio/
# echo 40 > export
# cd gpio40/
# cat value
0
# echo "out" > direction
# cat direction
out
# cat value
0
# echo "1" > direction
# cat direction
out
# echo "1" > value
# cat value
1
# cat value
1
# cat value
1
# cat value
1
# cat value
1
# echo "in" > direction
# cat value
0
почему когда переводишь на слушать ножка встает в 0?
и ещё одно меряли тестером на ноге значение не меняеться...
не та нога ? О,о
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 12.10.2012 01:08 Сообщение: 19
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
век живи - век учись.. какой интересный способ, круто!
у меня как раз осцилл подключен к PA27 (arm9260), прямо в консоли:
Код
root@arm9260:/sys/class/gpio# echo 27 > export
root@arm9260:/sys/class/gpio# ls
export gpio27 gpiochip0 gpiochip32 gpiochip64 unexport
root@arm9260:/sys/class/gpio# cd gpio27
root@arm9260:/sys/class/gpio/gpio27# cat direction
out
root@arm9260:/sys/class/gpio/gpio27# cat value
1
root@arm9260:/sys/class/gpio/gpio27# echo 0 > value

уровень отлично меняется 0/1..

Цитата
почему когда переводишь на слушать ножка встает в 0?

подключите к ножке резистор 10кОм второй хвост которого на +3В3 и должна появиться "1" (мне лень проверять)..
а "0" потому что пуллап внутренний не включен..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 12.10.2012 09:21 Редактировалось 12.10.2012 09:53 Сообщение: 20
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
у меня походу какая то другая адресация...
вот подключил debugfs в ядре и вот кое что в консоли...
# mount -t debugfs none /sys/kernel/debug
# cat /sys/kernel/debug/gpio
GPIOs 32-63, A:
[ds5] GPIOA6: [gpio] set
[ds1] GPIOA9: [gpio] clear
[sda] GPIOA23: [gpio] set
[scl] GPIOA24: [gpio] set
[Button 3] GPIOA27: [gpio] set
[Button 4] GPIOA31: [gpio] set

GPIOs 64-95, B:
[spi1.0] GPIOB3: [gpio] set

GPIOs 96-127, C:
[spi1.1] GPIOC5: [gpio] set

банки gpio криво разбиты почему то ><
хмм действительно изменяеться но edge не создаеться ...
как сделать так что бы создавался ?

эмм про пуллап внутренний можно поподробней ? вернее где его включать ?
такой вопрос ... как ножку перевести в какое то состояние и потом её слушать ?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux