Ник:
Пароль:

Контакты

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 » Вспомогательные средства
Задействовать кнопки на дисплее.
saa
Добавлено 06.05.2011 16:03 Сообщение: 51
saa
0

Пункты: 1475
Регистрация: 06.03.2011
Вот по поводу конфига:
Код

user@debian:~/src/linux-2.6.36-rc6$ cat .config | grep GPIO
CONFIG_GENERIC_GPIO=y
# CONFIG_MTD_NAND_GPIO is not set
CONFIG_KEYBOARD_GPIO=y
CONFIG_I2C_GPIO=y
CONFIG_SPI_GPIO=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# Memory mapped GPIO expanders:
# CONFIG_GPIO_IT8761E is not set
# I2C GPIO expanders:
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_ADP5588 is not set
# PCI GPIO expanders:
# SPI GPIO expanders:
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MC33880 is not set
# AC97 GPIO expanders:
# MODULbus GPIO expanders:
# CONFIG_HTC_EGPIO is not set
# CONFIG_USB_GPIO_VBUS is not set
user@debian:~/src/linux-2.6.36-rc6$ cat .config | grep ATMEL
CONFIG_HAVE_NAND_ATMEL_BUSWIDTH_16=y
# CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16 is not set
CONFIG_MTD_NAND_ATMEL=y
CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
# CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set
# CONFIG_ATMEL_TCLIB is not set
CONFIG_ATMEL_SSC=y
# CONFIG_TOUCHSCREEN_ATMEL_TSADCC is not set
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
CONFIG_SERIAL_ATMEL_PDC=y
# CONFIG_SERIAL_ATMEL_TTYAT is not set
CONFIG_SPI_ATMEL=y
CONFIG_HAVE_FB_ATMEL=y
CONFIG_FB_ATMEL=y
CONFIG_FB_ATMEL_SK=y
CONFIG_FB_ATMEL_SK_480X272=y
# CONFIG_FB_ATMEL_SK_800X480 is not set
CONFIG_USB_GADGET_ATMEL_USBA=y
CONFIG_USB_ATMEL_USBA=y
CONFIG_MMC_ATMELMCI=y
# CONFIG_MMC_ATMELMCI_DMA is not set
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.05.2011 22:04 Сообщение: 52
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Может просто исходники того ядра, на которым вы мне показывали пример, затарить и отправить мне?

Цитата
Да, скинте пожалуйста.

куда!? два раза написал свой емейл - давно бы туда чиркнули и получили ядро..

(из неявного) не имею желания выкладывать в пабликплейс ядро от кита. по почте ссылку пришлю..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
saa
Добавлено 06.05.2011 22:19 Сообщение: 53
saa
0

Пункты: 1475
Регистрация: 06.03.2011
Сори, туплю. Написал на почту.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.05.2011 23:59 Сообщение: 54
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
На gpio_keys матрицу не сделать - по крайней мере без переделок драйвера, хотя надо посмотреть, возможно есть готовое что-то. Клавиатурку проще сделать на встроенном АЦП из матрицы на резисторах.

оказалось, что есть готовое..
на макетке 4 кнопки включенные матрицей 2х2 и заведены на ближайшие пины 9g45..
в файле борды в любом месте
Код
//-----------------------------------------------------------------------------
/*
* Matrix keyboard
*/
static const uint32_t ek_keymap[] = {
KEY(0, 0, KEY_1),
KEY(0, 1, KEY_2),
KEY(1, 0, KEY_3),
KEY(1, 1, KEY_4),
};
static struct matrix_keymap_data ek_keymap_data = {
.keymap = ek_keymap,
.keymap_size = ARRAY_SIZE(ek_keymap),
};
static const int ek_col_gpios[] =
{ AT91_PIN_PB18, AT91_PIN_PB4,};
static const int ek_row_gpios[] =
{ AT91_PIN_PB19, AT91_PIN_PB5,};
static struct matrix_keypad_platform_data ek_pdata = {
.keymap_data = &ek_keymap_data,
.row_gpios = ek_row_gpios,
.col_gpios = ek_col_gpios,
// .num_row_gpios = ARRAY_SIZE(ek_row_gpios),
// .num_col_gpios = ARRAY_SIZE(ek_col_gpios),
.num_row_gpios = 2,
.num_col_gpios = 2,
.active_low = 1,
.col_scan_delay_us = 10,
.debounce_ms = 10,
.wakeup = 1,
};
static struct platform_device ek_kbd_device = {
.name = "matrix-keypad",
.id = -1,
.dev = {
.platform_data = &ek_pdata,
},
};

в функции ek_board_init(void)
в конце дописано
Код
at91_set_gpio_output(AT91_PIN_PB4, 1);
at91_set_gpio_output(AT91_PIN_PB18, 1);
at91_set_gpio_input(AT91_PIN_PB15, 1);
at91_set_gpio_input(AT91_PIN_PB19, 1);
platform_device_register(&ek_kbd_device);

в ядре включена поддержка GPIO driven matrix keypad
макетка:
title

тыкаем по кнопкам:
title

Вывод - можно сделать маленькую клавиатуру под свои нужды без особых усилий..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Вспомогательные средства